Gentoo Archives: gentoo-soc

From: EBo <ebo@×××××××.com>
To: gentoo-soc@l.g.o
Subject: Re: [gentoo-soc] Re: Weekly Report: Big Data Infrastructure and Maven Overlay in Week 4
Date: Mon, 29 Jun 2020 02:53:26
Message-Id: cdc0bae2275392df532f111eb5967210@mail.swcp.com
In Reply to: [gentoo-soc] Re: Weekly Report: Big Data Infrastructure and Maven Overlay in Week 4 by Zhang Zongyu
1 On Jun 28 2020 6:56 PM, Zhang Zongyu wrote:
2 > Hello,
3 >
4 >> Are you _sure_ that's the case?
5 >
6 > I would say Yes. The circular dependency originates from pom files,
7 > but
8 > the problem is that I cannot find a portage equivalent of some maven
9 > features
10 > (that is "exclusion" exactly).
11 >
12 >> These projects are using Maven to build, test and upload artifacts
13 >> to Maven central, how can it not compile?
14 >
15 > This is weird. I encountered net.sf.kxml:kxml2:2.3.0, which does
16 > not declare any dependencies.
17 > But it turns out to depend on xmlpull:xmlpull, I need to manually
18 > add it and make net.sf.kxml:kxml2:2.3.0 able to compile.
19
20 Sorry if it is inappropriate to interject here, but there are 'use'
21 flags and dependencies defined in the profile. My guess it is in there
22 some place. On my system (with set to
23 default/linux/amd64/17.0/desktop/plasma) and it includes a lot of things
24 like X. Maybe this will help.
25
26 >> Did you check out a stable commit?
27 >
28 > I am sorry that I am not sure what the stable commit stands for.
29 > Does that mean Maven artifacts always have a stable commit?
30 > Could you please tell me where can I find it?
31 >
32 >> Did you set the proper Maven profile?
33 >
34 > I do not set a Maven profile, and I believe it should be the default
35 > one.
36 >
37 >> Are you invoking Maven the same way upstream is?
38 >
39 > No, I am trying to translate pom into ebuild, which is an important
40 > part of my GSoC.
41 >
42 >> Please elaborate.
43 >
44 > Here is a set of pom files leading to circular deps:
45 > org.codehaus.groovy:groovy-all:2.5.12 depends on
46 > org.codehaus.groovy:groovy:2.5.12,
47 > while org.codehaus.groovy:groovy:2.5.12 depends on
48 > org.codehaus.gpars:gpars:1.2.1,
49 > while org.codehaus.gpars:gpars:1.2.1 depends
50 > on org.codehaus.groovy:groovy-all:2.5.12.
51 >
52 > But in pom of groovy, it excludes groovy-all with the "exclusion"
53 > attribute.
54 > It means that the gpars that groovy depends on is not depending on
55 > groovy-all now.
56 > So the circular dep gets broken in Maven.
57 >
58 > The problem is that portage cannot deal with things like "exclusion",
59 > so we
60 > cannot avoid the circumstance of circular deps.
61 >
62 > Do you have any suggestions? And Thank you in advance.
63 >
64 > Regards,
65 > Zhang Zongyu
66 >
67 > [1] an Overlay of ebuild files from Maven artifacts, if you are
68 > interested
69 > in
70 > https://github.com/6-6-6/spark-overlay
71 > [2] java-ebuilder which translates pom files into ebuild files.
72 > https://github.com/6-6-6/java-ebuilder