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 |