-
-
Notifications
You must be signed in to change notification settings - Fork 190
Switch from Ant to Maven #2657
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Switch from Ant to Maven #2657
Conversation
a4c154c
to
f235e71
Compare
Nice to see this PR ! A big step forwards..... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:21 min
[INFO] Finished at: 2019-04-25T13:18:57Z
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.codehaus.mojo:appassembler-maven-plugin:2.0.1-SNAPSHOT or one of its dependencies could not be resolved: Failure to find org.codehaus.mojo:appassembler-maven-plugin:jar:2.0.1-SNAPSHOT in http://clojars.org/repo was cached in the local repository, resolution will not be reattempted until the update interval of clojars.org has elapsed or updates are forced -> [Help 1]
@dizzzz see the temporary pre-requires bit in the PR description ;-) |
same problem here: appassembler build fails, subsequently exist build fails
thats with me telling inteellij to use java8, no clue why its searching in java11 |
@duncdrum I suspect java11 is on you class path..... and default jDK ? what is returned by |
for me the local build is OK; interestingly slow, but it finishes |
Two questions I have been asking myself trying to use the build and which likely need to be documented properly somewhere:
|
@dizzzz The first time you build eXist-db with Maven, there are a lot of plugins and dependencies that it needs to download which will make the build quite slow. Subsequent builds are much faster. We also have a security analysis plugin ( If you wish to skip that step, which is fine when you are doing dev and lots of rebuilds etc, you can add |
@duncdrum I suspect you have the Project SDK in IntelliJ set to a Java 11 JDK. In IntelliJ, if you Right-Click on the root of the project and click Module Settings in the popup menu, then click project you should have something like in the attached screenshot. |
@wolfgangmm I am not sure if you are using Linux, but I am guessing so... there was a very small bug (just a single character) in the Linux/Unix script for creating a DMG, this was causing your build to fail. Sorry about that. I have pushed a fix and re-tested on Fedora. The build was passing for @dizzzz as he is on a Mac and the script on the Mac uses the native Mac tools and did not have a bug. |
@ALL when reporting bugs please tell me the Operating System that you are using as some parts of the build (i.e. the DMG) are Operating System specific. |
@wolfgangmm in answer to your question:
Yes. Similarly to before. You can just run
Firstly, you should make sure that your IntelliJ is using a sufficiently new version of Maven. I have been testing with 3.6.0 and that works well, so maybe best to install that and set IntelliJ to use it via. the Menu: IntelliJ natively supports Maven, in this way we no longer need to ship all For those configurations the data dir will be located in |
@dizzzz on my very overheating and slow laptop, an Or an |
@adamretter as i said earlier, i have configured intellij to use java8 and to use my own maven (s.a.) |
So the main problem seems to be on both of my macs, that the macOS 10.14.3 |
@wolfgang Do you have XCode developer command line tools installed? I'm
thinking maybe not
…On Sat, 27 Apr 2019, 17:52 Wolfgang Meier, ***@***.***> wrote:
So one of the problems seems to be on my machine, that the SetFile binary
referenced from create-dmg-mac.sh is located in /usr/bin, not
/Applications/Xcode.app/Contents/Developer/Tools/.
macOS 10.14.3
Maven 3.6.0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2657 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAJUTOOVPBKCAO5DRQWTOG3PSQO6LANCNFSM4HIM2WCQ>
.
|
@duncdrum why is Atom involved?
…On Sat, 27 Apr 2019, 14:54 Duncan Paterson, ***@***.***> wrote:
@adamretter <https://github.com/adamretter>
macOS 10.14.4
IntelliJ 2018.3.6 (Ultimate)
Atom: 1.36.1
Maven: 3.6.1
as i said earlier, i have configured intellij to use java8 and to use my
own maven (s.a.)
the error occurs both when using intellij and when building from atom.
[image: Screenshot 2019-04-27 at 08 51 16]
<https://user-images.githubusercontent.com/6205362/56846015-e15a0880-68c9-11e9-87e2-af7a953fe402.png>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2657 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAJUTOLVWOKFIJ5IVLF745LPSP2DDANCNFSM4HIM2WCQ>
.
|
@adamretter to see if this is just an intellij bug or not, the build should work with any IDE or reasonably modern shell. |
@adamretter I have XCode developer command line tools on all machines. They install into Two more small issues. Writing them down before I forget:
import module namespace console="http://exist-db.org/xquery/console";
console:log("Hello world!") |
@wolfgangmm I have not changed the path where we look for Were you able to build DMGs in the past with Ant? If so I think something must have changed with your machine. If I look on my machine I see three things: $ ls -la /Applications/Xcode.app/Contents/Developer/Tools/SetFile
lrwxr-xr-x 1 root wheel 18 20 Sep 2017 /Applications/Xcode.app/Contents/Developer/Tools/SetFile -> ../usr/bin/SetFile $ ls -la /Applications/Xcode.app/Contents/Developer/usr/bin/SetFile
-rwxr-xr-x 1 root wheel 51536 6 Apr 08:34 /Applications/Xcode.app/Contents/Developer/usr/bin/SetFile And then also the file you describe: $ ls -la /usr/bin/SetFile
-rwxr-xr-x 1 root wheel 18304 21 Mar 14:11 /usr/bin/SetFile According to the MD5 sums, Do you also have XCode.app installed? or just the command line developer tools? |
Interesting. I actually hadn't myself seen anyone use it, a quick Google and I found one result which is for TEI-Publisher - https://gitlab.existsolutions.com/tei-publisher/tei-publisher-lib/commit/8d6089452448044811a3f97e8a7c5a8a965b8655.
Hmm I hadn't seen that, let me take a look and get back to you... Just wondering - how are you testing this? You reported so far that you hadn't been able to build with Maven... |
@adamretter Linking So with this little change in place, I have been able to build with maven on all three machines :-) I tested running from the generated distribution directory and debug in intellij. |
ebae0ac
to
9d7fb0f
Compare
0e62ce6
to
f850de1
Compare
8a33f06
to
77bf59d
Compare
…AppVeyor Windows CI
fe0a2fa
to
095f63c
Compare
IMO ... OK to go ! @adamretter @wolfgangmm @ljo @duncdrum @joewiz |
Also OK unless someone else has objections. |
@dizzzz @wolfgangmm Okay by me :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should open issues for the excluded tests, and get to the bottom of this. But this can happen after merge to develop.
No objections! |
This finally switches the build system from Ant to Maven.
Closes #1792
Closes #736
Closes #509
Closes #1576
Closes #964
Closes #1489
Closes #2070
Closes #2095
Closes #1659
Closes #2356
To use it...
Prerequisites
For building DMG (Linux users only)
sudo yum install hfsutils hfsplus-tools
(CentOS etc. only)sudo apt-get install hfsprogs hfsplus
(Debian etc. only)Building with Maven
It is as simple as:
mvn clean install -DskipTests
If you want to create distributions
mvn clean package -DskipTests
mvn -Dmac-signing=true -Dmac.codesign.identity="The ID of your Apple Developer Certificate" clean package -DskipTests
-Ddocker=true
.If you want to run tests
mvn clean test
IDE Support
Most Java IDE's (IntelliJ, NetBeans, etc.) natively support Maven projects. Just open the root folder of the project with the IDE and make sure to click "Enable auto-import" if given the option.
Running eXist-db from the IDE
TBC...