Strange new build failures
by Orion Poplawski
jexl is now failing in rawhide with an odd failure:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:aggregate
(default-cli) on project commons-jexl: An error has occurred in JavaDocs
report generation:
[ERROR] Exit code: 1 -
/builddir/build/BUILD/commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/ExpressionImpl.java:35:
error: bad HTML entity
[ERROR] * Original expression stripped from leading & trailing spaces.
[ERROR] ^
[ERROR]
/builddir/build/BUILD/commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/Interpreter.java:888:
warning: no @param for node
[ERROR] public Object visit(ASTFloatLiteral node, Object data) {
[ERROR] ^
[ERROR]
/builddir/build/BUILD/commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/Interpreter.java:888:
warning: no @param for data
Something odd change in java land?
http://koji.fedoraproject.org/koji/taskinfo?taskID=9488894
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA Division FAX: 303-415-9702
3380 Mitchell Lane orion(a)cora.nwra.com
Boulder, CO 80301 http://www.cora.nwra.com
8 years, 7 months
On-demand Maven dependency installation
by Mikolaj Izdebski
Maven packages have already been auto-generating RPM requires for
quite long time, but build-requires still need to be declared manually
in spec files. There is xmvn-builddep tool, which lets packagers
generate build-requires after bulid is done, but using this tool
introduces chicken-egg problem: to generate bulid-requires you need to
build the package first, but to build it you need to know
build-requires.
Now imagine any package could be built without specifing full Maven
build-requires, just maven-local. Sounds impossible? Not any longer!
When using XMvn >= 2.4.0 (development version, not yet released) with
special XMvn Mock plugin any missing artifacts which are required
during build will be installed on demand. This works with all bulid
systems that use XMvn (Maven, Ivy, Gradle, Aether Ant tasks, SBT, ...)
How this works exactly?
* XMvn tries to resolve artifact, but it is not present in the chroot
* XMvn asks Mock to install missing artifact and waits
* Mock installs package providing given artifact using DNF (or YUM)
* Mock informs XMvn that artifact was installed
* XMvn retries to resolve artifact, this time it succeeds
* the build continues
The code should already be working, you can test it and provide
feedback. To try out this setup you need to:
1) get latest mock from msimacek's github page, build and install it:
https://github.com/msimacek/mock
2) add XMvn development repo to yum.conf in mock config:
[jenkins-xmvn]
name=jenkins-xmvn
baseurl=http://jenkins.cloud.fedoraproject.org/job/xmvn/ws/RPM/latest
enabled=1
gpgcheck=0
To make builds reproducible XMvn plugin is disabled by default.
To use it you need to enable it by running mock with extra arg:
$ mock --enable-plugin xmvn ...
Thanks to Michael for writing the plugin.
--
Mikolaj Izdebski
Software Engineer, Red Hat
IRC: mizdebsk
8 years, 7 months
What's new in javapackages-tools 4.5.0
by Michal Srb
Hi everybody,
I am pleased to announce release of javapackages-tools 4.5.0.
Changelog:
* version 4.5.0 no longer depends on PyXB (Michael Simacek)
* new dependency: python-six
* slightly improved documentation (Michael Simacek)
* mvn-rpmbuild and mvn-local scripts have been removed (Mikolaj Izdebski)
new features:
* #1202309 - missing versioned java-headless requires
* #1171898 - maven_depmap.py: Generate ownership on mavenpomdir
subdirectories (Mikolaj Izdebski)
fixed bugs:
* #1198120 - support non-utf-8 documents (Michael Simacek)
* "optional" tag in <dependencyManagement> section is now ignored by
javapackages-tools (see: http://jira.codehaus.org/browse/MNG-5632)
Michal
8 years, 8 months
Removing mvn-rpmbuild from Fedora 23
by Mikolaj Izdebski
This is notification that mvn-rpmbuild script has just been removed
upstream. The next version of javapackages-tools in Fedora 23 will
follow upstream and remove this script too. Packages that still use
mvn-rpmbuild will fail to build.
mvn-rpmbuild has been deprecated for 2 years. It has been replaced by
newer %mvn_build macro. Migration guide from mvn-rpmbuild to %mvn_build
is available at [1]. More information about current recommended way of
packaging Java software built with Maven can be found at [2].
[1] https://mizdebsk.fedorapeople.org/xmvn/cookbook/
[2] https://fedorahosted.org/released/javapackages/doc/
--
Mikolaj Izdebski
Software Engineer, Red Hat
IRC: mizdebsk
8 years, 8 months
Q: How to locally maven-install a fedora maven-based package?
by Alec Leamas
I'm probably dumb (again...) but: my current understanding is that when
installing a typical fedora java package it installs
/usr/share/maven-metadata/app.xml and other things including a jar file
typically like /usr/share/java/app/app.jar.
Now, if I need to make some local development I need to install this
app.jar file into my local maven repository using something like
mvn install:install-file -DgroupId=... -DartifactId=... -Dfile=...
All this metadata (groupId, artifactId, etc.) is available in the
/usr/share/maven-metadata/app.xml file. So, my question: is there any
tool which parses app.xml and installs the jar file to the local maven
repository?
Or have I just got it wrong, and there is another much more elegant way
to make system jar files available to the local maven?
cheers!
--alec
8 years, 8 months
how to build with java -8 in epel-6?
by Farkas Levente
hi,
i'm try to build a java package for epel-6 which use java-8.
unfortunately it seem it's not enough to simple add
BuildRequires: java-1.8.0-openjdk-devel
since it's install it, but also still install during the mock setup
session old java packages ie:
java-1.5.0-gcj x86_64 1.5.0.0-29.1.el6 os
137 k
java-1.6.0-sun x86_64 1:1.6.0.45-1jpp.1.el6 os
25 M
java-1.7.0-ibm x86_64 1:1.7.0.5.0-1jpp.2.el6_4 os
73 M
java-1.7.0-ibm-devel x86_64 1:1.7.0.5.0-1jpp.2.el6_4 os
7.5 M
java-1.7.0-oracle x86_64 1:1.7.0.45-1jpp.2.el6_4 os
28 M
and i'm not bale to exclude them. in rpm the is a Obsoletes: but there
is no such thing as "BuildRequiresObsoletes":-(
what's more i can't run system-switch-java since it's required root
access and there is no command line option to switch to a given specific
java version.
so during build the system use the default javac which is not java8 but
ibm's java7 (IBM J9 VM (build 2.6, JRE 1.7.0).
is there any way to force java8? or is there any way to exclude other
java vm jre to install into mock during build?
thanks in advance.
regards.
--
Levente "Si vis pacem para bellum!"
8 years, 8 months
Headsup - OpenJDK memory leak
by Mikolaj Izdebski
FYI, there is a serious memory leak bug in OpenJDK in latest rawhide
(rhbz#1208369). Many (most?) Java builds currently fail due to OOM and
Java applications don't work in rawhide. I'm waiting for response from
OpenJDK maintainers.
--
Mikolaj Izdebski
Software Engineer, Red Hat
IRC: mizdebsk
8 years, 8 months
Plexus status in Fedora
by Mikolaj Izdebski
Codehaus, which was home to Plexus project, has been decommissioned.
I thouught this was a good idea to cleanup some Plexus packages in
Fedora. This is mostly done and the results below are for informative
purposes only.
Projects which are stilll active upstream and have new home at
https://github.com/codehaus-plexus/, I have updated their URL to point
to new upstream:
* plexus-archiver
* plexus-cipher
* plexus-classworlds
* plexus-cli
* plexus-compiler
* plexus-component-factories-pom
* plexus-components-pom
* plexus-containers
* plexus-digest
* plexus-i18n
* plexus-interactivity
* plexus-interpolation
* plexus-io|plexus-pom
* plexus-resources
* plexus-sec-dispatcher
* plexus-utils
* plexus-velocity
Retired upstream, I have retired them in Fedora 23+:
* plexus-cdc
* plexus-mail-sender
* plexus-root-pom
* plexus-tools-pom
Retired upstream, should be retired in Fedora too, I've already
contacted package owners directly about this:
* plexus-active-collections
* plexus-graph
Retired upstream, but still needed in Fedora, it will be kept for now:
* plexus-component-api
Other:
* plexus-build-api: despite having name staring with "plexus-" this
package is not a part of Codehaus Plexus. It has its home at
https://github.com/sonatype/sisu-build-api
--
Mikolaj Izdebski
Software Engineer, Red Hat
IRC: mizdebsk
8 years, 8 months