Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/ant-ivy/
Date: Sat, 04 Dec 2021 16:27:53
Message-Id: 1638635266.321c4ba7ca22341bd7f108d1403ccd8ee810000f.fordfrog@gentoo
1 commit: 321c4ba7ca22341bd7f108d1403ccd8ee810000f
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Tue Jun 8 11:25:46 2021 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Sat Dec 4 16:27:46 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=321c4ba7
7
8 dev-java/ant-ivy: bump to 2.5.0
9
10 Closes: https://bugs.gentoo.org/794598
11 Package-Manager: Portage-3.0.18, Repoman-3.0.2
12 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
13 Closes: https://github.com/gentoo/gentoo/pull/21197
14 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
15
16 dev-java/ant-ivy/Manifest | 1 +
17 dev-java/ant-ivy/ant-ivy-2.5.0.ebuild | 182 ++++++++++++++++++++++++++++++++++
18 dev-java/ant-ivy/metadata.xml | 5 +
19 3 files changed, 188 insertions(+)
20
21 diff --git a/dev-java/ant-ivy/Manifest b/dev-java/ant-ivy/Manifest
22 index ef80fa17ff62..adb78cab36a9 100644
23 --- a/dev-java/ant-ivy/Manifest
24 +++ b/dev-java/ant-ivy/Manifest
25 @@ -1,2 +1,3 @@
26 DIST apache-ivy-2.3.0-src.tar.gz 2790722 BLAKE2B 87a79bad15b9b74517ce240fcfd0ae9e58b67816f0ec1fbd14081a17bd837c497da419d0b45ad63b3782b151e86c85b79cafa11f8c1170ab0287597be78cabe7 SHA512 fde43ff288cd8c77f2bdecdcbf52f180247ed99a8526be9d875d60e209b66155d5526e968400382d2cef22cabb8899c3b0912e049ae7d23e2cb79be8a81fe00f
27 +DIST apache-ivy-2.5.0-src.tar.gz 2719181 BLAKE2B 71c47e3493beac8de1bc4e8c86ae18383938265dd2803a1c4b9ad466306227dab9eeca256516ff94064d902d0694b4f0b35ce152c5f64b95b876e47289b25833 SHA512 59d9458345e3a51e8f527258ba26ebe2cf5cf257401c52fb5f75aced0da5f7bf36f8aa0f202bbc0cf029d1d49bd6634f7cb8b65ccc828eb55ff7084430879268
28 DIST ivy-1.4.1-src.zip 751792 BLAKE2B 3a6ca8aaa49be9c664c3de4789debfe5770bb32084c548aa49a8d6146b55391729d5d68758e26f29253ab727e8a2a731961ba45419f3c1a212b26d74f33b0a0e SHA512 8ccb4680e8c32178bf12b74f4c6df668bbdd06c6dce6a2d0bf1b9daeec8fb5166d4d510cadb247dc4e2a91b71f5dc7fc429d0d7faed95a2898fd4f9d0888ee8d
29
30 diff --git a/dev-java/ant-ivy/ant-ivy-2.5.0.ebuild b/dev-java/ant-ivy/ant-ivy-2.5.0.ebuild
31 new file mode 100644
32 index 000000000000..caa5b3a8f254
33 --- /dev/null
34 +++ b/dev-java/ant-ivy/ant-ivy-2.5.0.ebuild
35 @@ -0,0 +1,182 @@
36 +# Copyright 1999-2021 Gentoo Authors
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI=7
40 +
41 +JAVA_PKG_IUSE="doc source test"
42 +MAVEN_ID="org.apache.ivy:ivy:2.5.0"
43 +JAVA_TESTING_FRAMEWORKS="junit-4"
44 +
45 +inherit java-pkg-2 java-pkg-simple java-osgi
46 +
47 +DESCRIPTION="Ivy is a free java based dependency manager"
48 +HOMEPAGE="https://ant.apache.org/ivy/"
49 +SRC_URI="mirror://apache/ant/ivy/${PV}/apache-ivy-${PV}-src.tar.gz"
50 +
51 +LICENSE="Apache-2.0"
52 +SLOT="2"
53 +KEYWORDS="~amd64 ~ppc64 ~x86"
54 +
55 +PROPERTIES="test_network"
56 +RESTRICT="test"
57 +
58 +CDEPEND="
59 + dev-java/ant-core:0
60 + dev-java/bcpg:0
61 + dev-java/bcprov:0
62 + dev-java/commons-httpclient:4
63 + dev-java/commons-vfs:2
64 + dev-java/httpcore:0
65 + dev-java/jakarta-oro:2.0
66 + dev-java/jsch:0
67 + dev-java/jsch-agent-proxy:0
68 + test? (
69 + dev-java/ant-junit:0
70 + dev-java/ant-junit4:0
71 + dev-java/ant-junitlauncher:0
72 + dev-java/ant-testutil:0
73 + dev-java/hamcrest-core:1.3
74 + dev-java/hamcrest-library:1.3
75 + dev-java/xmlunit:1
76 + )"
77 +DEPEND="${CDEPEND}
78 + >=virtual/jdk-1.8:*"
79 +RDEPEND="${CDEPEND}
80 + >=virtual/jre-1.8:*"
81 +
82 +DOCS=( LICENSE NOTICE README.adoc )
83 +
84 +S="${WORKDIR}/apache-ivy-${PV}"
85 +
86 +JAVA_GENTOO_CLASSPATH="ant-core,bcpg,bcprov,commons-httpclient-4,commons-vfs-2,httpcore,jakarta-oro-2.0,jsch,jsch-agent-proxy"
87 +JAVA_MAIN_CLASS="org.apache.ivy.Main"
88 +JAVA_SRC_DIR="src/java"
89 +JAVA_RESOURCE_DIRS="resources/java"
90 +
91 +JAVA_TEST_GENTOO_CLASSPATH="ant-junit,ant-junit4,ant-junitlauncher,ant-testutil,hamcrest-core-1.3,hamcrest-library-1.3,junit-4,xmlunit-1"
92 +JAVA_TEST_SRC_DIR="test-src/java"
93 +JAVA_TEST_RESOURCE_DIRS="test"
94 +JAVA_GENTOO_CLASSPATH_EXTRA="ant-ivy.jar:test.jar:custom-resolver.jar"
95 +
96 +# according to 57,60 build-release.xml
97 +# https://github.com/apache/ant-ivy/commit/c0c8df492d2312c983f50cfdc5841e18177f6f7b
98 +JAVA_TEST_EXTRA_ARGS="-Divy.cache.ttl.default=1s -Dskip.download=true -Divy.home=/tmp -D/offline=true"
99 +
100 +# Several tests require a certain treatment to "generate-bundles":
101 +# https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L426-L428
102 +# <ant dir="${basedir}/test/test-repo" target="generate-bundles"/>
103 +#
104 +# The procedure is coded in https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/test/test-repo/build.xml#L19-L71
105 +# but appears too difficult to be reprodused with 'java-pkg-simple.eclass'.
106 +# So the failing tests will be excluded, saved for a later attempt.
107 +#
108 +# Not excluding any test classes results in "Tests run: 1109, Failures: 98"
109 +# Excluding those test classes listed below leads to "OK (812 tests)"
110 +JAVA_TEST_EXCLUDES=(
111 + # https://github.com/apache/ant-ivy/blob/083e3f685c1fe29092e59c63b87e81d31fc9babe/build.properties#L56
112 + # test.class.pattern = *Test
113 + "org.apache.ivy.ant.testutil.AntTaskTestCase" # not in scope
114 + "org.apache.ivy.core.TestPerformance" # not in scope
115 + "org.apache.ivy.util.TestXmlHelper" # not in scope
116 + "org.apache.ivy.TestFixture" # not in scope
117 + "org.apache.ivy.TestHelper" # not in scope
118 + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L412-L420
119 + # <exclude name="**/Abstract*Test.java"/>
120 + "org.apache.ivy.util.url.AbstractURLHandlerTest"
121 + "org.apache.ivy.plugins.resolver.AbstractDependencyResolverTest"
122 + "org.apache.ivy.plugins.matcher.AbstractPatternMatcherTest"
123 + # following excluded tests cause test failures
124 + "org.apache.ivy.ant.BuildOBRTaskTest" # Tests run: 3, Failures: 2
125 + "org.apache.ivy.core.deliver.DeliverTest" # Tests run: 1, Failures: 1
126 + "org.apache.ivy.core.module.descriptor.IvyMakePomTest" # Tests run: 1, Failures: 1
127 + "org.apache.ivy.core.settings.XmlSettingsParserTest" # Tests run: 29, Failures: 1
128 + "org.apache.ivy.osgi.core.AggregatedOSGiResolverTest" # Tests run: 3, Failures: 1
129 + "org.apache.ivy.osgi.obr.OBRResolverTest" # Tests run: 16, Failures: 16
130 + "org.apache.ivy.osgi.repo.BundleRepoTest" # Tests run: 4, Failures: 3
131 + "org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest" # Tests run: 46, Failures: 1
132 + "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParserTest" # Tests run: 44, Failures: 7
133 + "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriterTest" # Tests run: 10, Failures: 1
134 + "org.apache.ivy.plugins.parser.xml.XmlModuleUpdaterTest" # Tests run: 14, Failures: 3
135 + "org.apache.ivy.plugins.resolver.JarResolverTest" # Tests run: 3, Failures: 3
136 + # following excluded tests can pass if run individually
137 + "org.apache.ivy.ant.IvyConfigureTest" # OK (14 tests)
138 + "org.apache.ivy.IvyTest" # OK (1 test)
139 + "org.apache.ivy.MainTest" # OK (12 tests)
140 + "org.apache.ivy.plugins.report.XmlReportWriterTest" # OK (3 tests)
141 + "org.apache.ivy.plugins.resolver.BintrayResolverTest" # OK (12 tests)
142 + "org.apache.ivy.plugins.resolver.ChainResolverTest" # OK (15 tests)
143 + "org.apache.ivy.plugins.resolver.FileSystemResolverTest" # OK (27 tests)
144 + "org.apache.ivy.plugins.resolver.IBiblioMavenSnapshotsResolutionTest" # OK (1 test)
145 + "org.apache.ivy.plugins.resolver.IvyRepResolverTest" # OK (3 tests)
146 + "org.apache.ivy.plugins.resolver.Maven2LocalTest" # OK (2 tests)
147 + "org.apache.ivy.plugins.resolver.PackagerResolverTest" # OK (3 tests)
148 + "org.apache.ivy.plugins.resolver.URLResolverTest" # OK (5 tests)
149 + "org.apache.ivy.plugins.trigger.LogTriggerTest" # OK (3 tests)
150 + # Without PROPERTIES="test_network", the following test cause additional failures.
151 + "org.apache.ivy.core.settings.OnlineXmlSettingsParserTest"
152 +# "org.apache.ivy.osgi.updatesite.UpdateSiteAndIbiblioResolverTest"
153 + "org.apache.ivy.osgi.updatesite.UpdateSiteLoaderTest"
154 +# "org.apache.ivy.plugins.resolver.IBiblioResolverTest"
155 +# "org.apache.ivy.plugins.resolver.MirroredURLResolverTest"
156 + "org.apache.ivy.util.url.ArtifactoryListingTest"
157 +# "org.apache.ivy.util.url.BasicURLHandlerTest"
158 +# "org.apache.ivy.util.url.HttpclientURLHandlerTest"
159 +)
160 +
161 +src_prepare() {
162 + default
163 +
164 + mkdir --parents "${JAVA_RESOURCE_DIRS}/META-INF" || die
165 + pushd "${JAVA_RESOURCE_DIRS}"
166 + cp "${S}"/{NOTICE,LICENSE} META-INF/ || die
167 + cp -r "${S}"/src/java/* . || die
168 +
169 + # DEPRECATED: 'ivyconf' element is deprecated, use 'ivysettings' instead
170 + # according to 210,221 build.xml and still in the upstream .jar file
171 + cp org/apache/ivy/core/settings/ivy{settings,conf}-local.xml || die
172 + cp org/apache/ivy/core/settings/ivy{settings,conf}-default-chain.xml || die
173 + cp org/apache/ivy/core/settings/ivy{settings,conf}-main-chain.xml || die
174 + cp org/apache/ivy/core/settings/ivy{settings,conf}-public.xml || die
175 + cp org/apache/ivy/core/settings/ivy{settings,conf}-shared.xml || die
176 + cp org/apache/ivy/core/settings/ivy{settings,conf}.xml || die
177 +
178 + find . -type f -name '*.java' -exec rm -rf {} + || die
179 + popd || die
180 +}
181 +
182 +src_test() {
183 + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L396-L407
184 + # name="build-custom-resolver-jar"
185 + JAVA_SRC_DIR="test/custom-classpath"
186 + JAVA_JAR_FILENAME="test/java/org/apache/ivy/core/settings/custom-resolver.jar"
187 + java-pkg-simple_src_compile
188 +
189 + # Without "license.xml" the tests won't even start. "Tests run: 1109, Failures: 318"
190 + jar -cf test.jar \
191 + -C test/java org/apache/ivy/plugins/parser/xml/license.xml \
192 + -C test/java org/apache/ivy/plugins/parser/m2/license.xml || die
193 +
194 + # Reduce number of failures to "Tests run: 1109, Failures: 98"
195 + jar -uf "test.jar" -C test/java . || die
196 +
197 + # Separate *.java files from test resources
198 + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L389-L393
199 + mkdir test-src || die
200 + cp -r test/java test-src/ || die
201 + find test -type f -name '*.java' -exec rm -rf {} + || die
202 +
203 + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L430-L438
204 + # name="prepare-test-jar-repositories"
205 + mkdir test/jar-repos || die
206 + jar -cfM "test/jar-repos/jarrepo1.jar" -C test/repositories/1 . || die
207 +# jar -cfM "test/jar-repos/jarrepo1_subdir.jar" -C test/repositories 1/**/*/ || die
208 +
209 + java-pkg-simple_src_test
210 +}
211 +
212 +src_install() {
213 + default
214 + java-osgi_dojar-fromfile "ant-ivy.jar" "META-INF/MANIFEST.MF" "ant-ivy"
215 + use doc && java-pkg_dojavadoc target/api
216 + use source && java-pkg_dosrc src/*
217 +}
218
219 diff --git a/dev-java/ant-ivy/metadata.xml b/dev-java/ant-ivy/metadata.xml
220 index 3051d122c6e8..91e2ba1cf10c 100644
221 --- a/dev-java/ant-ivy/metadata.xml
222 +++ b/dev-java/ant-ivy/metadata.xml
223 @@ -14,4 +14,9 @@
224 to a local lib dir, and it does it for you by locating the artifacts of
225 your dependencies in repositories, such as ibiblio.
226 </longdescription>
227 + <upstream>
228 + <remote-id type="github">apache/ant-ivy</remote-id>
229 + <doc>https://ant.apache.org/ivy/history/2.5.0</doc>
230 + <bugs-to>https://issues.apache.org/jira/browse/IVY </bugs-to>
231 + </upstream>
232 </pkgmetadata>