I am trying to build Eclipse BIRT (Oxygen/4.7.0 Release). But I am having difficulties and unable to proceed.
Steps I used:
Install Apache Maven 3.3.3 - since the build requires this version
Cloned the birt repository from Github
Checked out BIRT_4_7_0_Release_201706222054 tag
Executed mvn -DskipTests package in the root folder
Repositories on my local machine:
I have a clean m2 local repository (nothing in the repository)
I do use Eclipse Oomph to install various IDE (not projects) so bundle pools are present on my machine
Environment:
I am using JDK 1.8 (build 144) on macOS (10.11.6).
Result:
Cannot resolve project dependencies:
[ERROR] Software being installed: org.eclipse.birt.designer 4.7.0.qualifier
[ERROR] Missing requirement: org.eclipse.birt.feature.group 4.7.0.qualifier requires 'org.eclipse.gef.feature.group 3.2.0' but it could not be found
[ERROR] Cannot satisfy dependency: org.eclipse.birt.designer 4.7.0.qualifier depends on: org.eclipse.birt.feature.group 0.0.0
[ERROR]
Miscellaneous:
I also tried building for neon but that fails because the release milestones have moved and resolution fails (even after I change the release milestones URL).
Any help would be much appreciated. Thanks!
There are two separate issues in the build.
Firstly, it seems that the latest release tagged BIRT_4_7_0_Release_201706222054 has URLs and a feature that are out-of-date (as of the date of this answer). Building this revision will fail.
The solution is to build revision:
Update repository URL post Oxygen (1b32db99608d028b2cfabf65aa4a34a2c7ff3359).
Another option would be to cherrypick the following three fixes (all changes) on top of the release revision BIRT_4_7_0_Release_201706222054. This avoids all other changes that were made post Oxygen Release.
1b32db99608d028b2cfabf65aa4a34a2c7ff3359
92f2f74916bf6e2fa961285dcc0f5eaa7d2c50e2
eb8c612fc0ed0547601b5d1f9221755a44730abc
The second problem is Maven related. The top-level POM.xml requires definition of a toolchains. This needs to be defined in ~/.m2/toolchains.xml file or specified on the command-line with --global-toolchains. you can read about this in the Maven documentation here.
Lastly, the build requires Maven 3.3.3 as per Ben Gamble here. It did cause me a problem initially because I had 3.5.0 (prior to posting the question; mentioning this here for completeness).
Hope this will help anyone having similar problems.
Related
I try to generate the Java API documentation of a project composed of multiple sub-modules with mvn site but it doesn't work whereas mvn install works, it resolves all dependencies and it compiles successfully. mvn site resolves neither the dependencies that are inherited by all sub-modules in the parent pom file (including easymock) nor the dependencies specific to some sub-modules (including SWT).
I obtain the following error message:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site) on project ardor3d: Error generating maven-javadoc-plugin:3.1.1:aggregate report:
[ERROR] Exit code: 1 - /home/gouessej/Documents/programming/java/workspace/Ardor3D/ardor3d-swt/src/test/java/com/ardor3d/input/swt/TestSwtMouseWrapper.java:23: error: package org.eclipse.swt.events does not exist
I use Maven 3.6.1 with OpenJDK 11. This problem concerns the open source project JogAmp's Ardor3D Continuation and is reproducible with the latest source code.
I saw a similar question here but I don't think that the accepted answer helps in my case.
It worked with Java 8 but I'm not sure that it's the culprit.
P.S: Reverting this change and using Java 8 work around this bug.
Replacing <release>8</release> by <source>1.8</source><target>1.8</target> and using Java 8 instead of Java 11 solve the problem. It's probably a bug of maven-javadoc-plugin with Java 11. This bug has been reported here.
I recently upgraded Maven from 3.0.5 to 3.3.9.
Ever since, I can't build projects because of dependency failure when trying to find SNAPSHOTs.
The error is:
Could not find artifact bla:bla:war:9.81.6-SNAPSHOT -> [Help 1]
bla:bla has been built and put to my Archiva repo so I went to check there and I noticed a subtle difference in the version numbers between the project built with Maven 3.0.5 and 3.3.9.
3.0.5
3.3.9
You can see that with the later version of Maven, rather than having a -SNAPSHOT version, i get a timestamped version instead.
Endless Googling hasn't turned up any thing about this change so over to SO for answers!
If i take the full timestamped version specified in Archiva and put it in my POM, then I can build the project but obviously this is not how snapshots are supposed to work.
I've tried installing the EGit plugin on Eclipse with this link: http://download.eclipse.org/egit/updates
I chose both, the Eclipse Git Team Provider and JGit and hit on next. Then, the window says The operation cannot be completed. See the details..
This is the window:
The error lines say:
Cannot complete the install because of a conflicting dependency.
Software being installed: Eclipse Git Team Provider 3.0.3.201309161630-r (org.eclipse.egit.feature.group 3.0.3.201309161630-r)
Software currently installed: Eclipse SDK 3.7.2.M20120208-0800 (org.eclipse.sdk.ide 3.7.2.M20120208-0800)
Only one of the following can be installed at once:
Team Support Core 3.7.0.v20130514-1224 (org.eclipse.team.core 3.7.0.v20130514-1224)
Team Support Core 3.5.0.I20090527-0620 (org.eclipse.team.core 3.5.0.I20090527-0620)
Team Support Core 3.5.1.r35x_20100113-0800 (org.eclipse.team.core 3.5.1.r35x_20100113-0800)
Team Support Core 3.6.0.I20110525-0800 (org.eclipse.team.core 3.6.0.I20110525-0800)
Cannot satisfy dependency:
From: Eclipse Git Team Provider 3.0.3.201309161630-r (org.eclipse.egit.feature.group 3.0.3.201309161630-r)
To: org.eclipse.egit.ui [3.0.3.201309161630-r]
Cannot satisfy dependency:
From: Git Team Provider UI 3.0.3.201309161630-r (org.eclipse.egit.ui 3.0.3.201309161630-r)
To: bundle org.eclipse.team.core [3.6.100,4.0.0)
Cannot satisfy dependency:
From: Eclipse Platform 3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-q (org.eclipse.platform.feature.group 3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-q)
To: org.eclipse.team.core [3.6.0.I20110525-0800]
Cannot satisfy dependency:
From: Eclipse Project SDK 3.7.2.r37x_v20111213-7Q7xALDPb32vCjY6UACVPdFTz-icPtJkUadz0lMmk4z-8 (org.eclipse.sdk.feature.group 3.7.2.r37x_v20111213-7Q7xALDPb32vCjY6UACVPdFTz-icPtJkUadz0lMmk4z-8)
To: org.eclipse.platform.feature.group [3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-q]
Cannot satisfy dependency:
From: Eclipse SDK 3.7.2.M20120208-0800 (org.eclipse.sdk.ide 3.7.2.M20120208-0800)
To: org.eclipse.sdk.feature.group [3.7.2.r37x_v20111213-7Q7xALDPb32vCjY6UACVPdFTz-icPtJkUadz0lMmk4z-8]
I really don't know what is going on, but I want to get this to work so badly. Thanks in advance for everyone's support!
From the error message it looks like you are using Eclipse 3.7 (which is about 2 years old at the time of writing this answer).
EGit 3.0 requires at least Eclipse 3.8.2 or Eclipse 4.2.2, see What versions of Eclipse does EGit target? in the FAQ.
So the solution is to upgrade to a recent version of Eclipse, see Eclipse downloads.
Alternatively, if you need to stick to Eclipse 3.7.2 for some reason, you can use EGit version 1.3. This is the best update site to use in that case: eclipse indigo update site. If you filter by "git" you will get the correct plugins to install.
I recently tried to use maven-release-plugin since it is apparently the recommended way of building and packages releases in the Maven universe.
However I wanted to use this within Eclipse, as the rest of my development workflow is Eclipse based. I normally run Maven commands via the m2eclipse plugin provided as part of Eclipse Juno (4.2)
I noticed a few oddities when I tried to run "release:prepare" within Eclipse:
Some extra files were created in the root project directory - "pom.xml.releaseBackup" and "release.properties". Do they really belong there? Have I got the release directories set up correctly? I wouldn't really consider these temporary artifacts as part of my source code tree......
The pom.xml gets manually overwritten with the updated release number. Eclipse warns you and is happy to reload the updated version - but is this generally safe?
The prepare ultimately fails giving the error [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project clisk: Failed to invoke Maven build. Error configuring command-line. Reason: Maven executable not found at: C:\Users\Mike\git\clisk\EMBEDDED\bin\mvn.bat -> [Help 1] - presumably because I am using the built-in Maven excetable provided by m2eclipse rather than the command line. I guess I could install command line maven as well.... but is that sensible or will it just cause more problems?
Given these kind of issues, Is there a way to get maven-release-plugin to work smoothly within Eclipse, or should I just give up and continue to do releases manually?
I have been using release plugin, but only from command line.
Re. 1. The backup files that release plugin creates are needed if something goes wrong in time of preparing the release. You can always rollback the prepared release using release:rollback command. When you do release:perform they will be deleted.
Re. 2. The plugin changes the version number from snapshot version for example: 0.0.1-SNAPSHOT: to release version: 0.0.1. Then after release:perform release version is moved to the maven repository and release plugin changes version again to 0.0.2-SNAPSHOT. Now you can use you full released (tested) version in your testing or production enviornment and snapshot version for developping purposes.
Re. 3. I don't know what is causing the problem, but I don't see the problem by using release plugin from command line.
Also mvn 3.3.3 installs a mvn.cmd file, instead of a mvn.bat file in Windows.
You should copy mvn.cmd to mvn.bat
Well i know this link is OLD , but to help some on who reffers this link for the issue 3.
Install maven separately on to local Box and give the path of the installation under Windows->Preferences--> maven--> Installation. Also you have to define the same in the run configuration within the Eclipse.
Attached is a link that explains the same.
http://maven.40175.n5.nabble.com/Build-Failure-prepare-release-td510949.html
You might be able to overcome the error you mention by installing command line Maven and configure Eclipse to use that rather than the embedded one by choosing Window -> Preferences -> Maven -> Installations, but I agree with the advice of making your releases outside Eclipse.
I downloaded the TestNG NetBeans Plugin and tried to install it in my NetBeans 6.8. I'm running NetBeans IDE 6.8 (Build 200912041610).
When I click install, I get this message:
Some plugins require plugin External
Execution Support to be installed. The
plugin External Execution Support is
requested in version >= 1.19 but only
1.18.1 was found. The following plugin is affected: TestNG
Support
Some plugins require plugin Common
Test Runner API to be installed. The
plugin Common Test Runner API is
requested in version >= 1.13 but only
1.12.1 was found. The following plugin is affected: TestNG
Support
Some plugins require plugin Utilities
API to be installed. The plugin Utilities API is requested in version >= 8.0 but only 7.31.2.1 was found. The following plugin is affected:
TestNG Support
Some plugins require plugin
org.openide.util.lookup to be
installed. The plugin
org.openide.util.lookup is requested
in version 8.0. The following plugin
is affected: TestNG Support
Some plugins not installed to avoid
potential installation problems.
Is it possible to use the TestNG plugin with Netbeans 6.8?
The plugin manager doesn't even seem to know about any of the dependency plugins. Is the TestNG plugin build against a beta or experimental version? I have updated all of my plugins to the latest versions.
Update
I went ahead and built the module from the Netbeans 6.8 branch. It installs fine now. Unfortunately, when I run the tests, I can see the ant output, but the TestNG view says "No tests Executed." I'll keep fiddling with it to see if I can get it working.
I took a quick look at this. It appears that the nbm file that you can download from the wiki page that you referenced is compiled against the trunk of the NB sources, not the bits that are released as NetBeans 6.8.
I have sent a note to the developer about this.
You can build the NBM yourself, but it is pretty painful, since you have to get the contrib repository.
This is embarrassing not able to use either the old version of TestNG or new version of TestNG in NetBeans. Any one kindly create a correct TestNG plugin for version 6.8.
Unfortunately, I don't think anyone has been working on the TestNG Netbeans plug-in in a while, so I'm not surprised to hear you are running into difficulties. Try posting your question on their forums?
Otherwise, I continue to work actively on the Eclipse plug-in (new version released a few weeks ago) and TestNG is supported natively by IDEA...
Hope this helps.