Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Maven, CI #14

Merged
merged 24 commits into from
Apr 11, 2019
Merged

Add Maven, CI #14

merged 24 commits into from
Apr 11, 2019

Conversation

tresf
Copy link

@tresf tresf commented Apr 1, 2019

Adds:

How to build:

mvn            # yeah it's that simple
mvn -P mingw32 # make a windows build

This is a work-in-progress. I'm placing the PR here in the open so that onlookers are aware of its existence and progress.

PR's against maven branch are always welcome. Contributors can commit directly. If you want to be a contributor, just ask.

Don't know maven? No problem! Compilation is painless, check out the wiki: https://github.com/java-native/jssc/wiki/Compiling

Also addresses:
scream3r#103
scream3r#59

* Change maven id and project name to just "jssc" at "io.github.java-native" namespace
* Adds two releasable jars (platform-specific jar and uber jar).  TODO: add non-shaded fat jar #21
* Allow cmake to parse version info from pom.xml
* Adds ability to skip native compilation steps including cmake and tests
* Leverages maven-assembly-plugin for better classifier to the default artifact
* Alphabetize, organize and remove hard-coding of dependencies/variables
* Adds Travis-CI for many platforms.  Note, some binaries are not yet usable, sorry!
* Adds Ubuntu 14.04 cross-compiled binaries to the source tree. TODO: Move to git-lfs
* Add LICENSE to pom.xml (#22)
@tresf
Copy link
Author

tresf commented Apr 10, 2019

Maven packaging (#18) … f289839

maven-packaging branch is finally merged into this PR. It was a lot of work! Here's a summary:

  • Change maven id and project name to just "jssc" at "io.github.java-native" namespace
  • Adds two releasable jars (platform-specific jar and uber jar). TODO: add non-shaded fat jar Create a dependency-bundled jar #21
  • Allow cmake to parse version info from pom.xml
  • Adds ability to skip native compilation steps including cmake and tests
  • Leverages maven-assembly-plugin for better classifier to the default artifact
  • Alphabetize, organize and remove hard-coding of dependencies/variables
  • Adds Travis-CI for many platforms. Note, some binaries are not yet usable, sorry!
  • Adds Ubuntu 14.04 cross-compiled binaries to the source tree. TODO: Move to git-lfs
  • Adds LICENSE to pom.xml (Add LICENSE.txt or LICENSE or LICENSE.md #22)

This PR will be merged back to master very soon (days, not weeks). Items left are some decisions on cross-compiling (see #26 as an example) as well as where to permanently stash these binary files (git-lfs has been proposed). (git-lfs was ruled out due to git-lfs/git-lfs#1906)

Once these remaining items are ironed out, we can merge back to master. Note, if there's any major stalling on #26, I'll merge with it still open.

tresf and others added 3 commits April 10, 2019 22:57
* Updated default artifacts. Fixes #31.
  - Default artifact is now the "global" jar containing all precompiled libraries.
  - The system-classifier jar is now an optional jar which is not generated by the package profile.
  - The system-classifier jar contains everything from the "global" jar, but with the system-classifier updated library.
  - Updated cmake output folder to `${cmake.generated.directory}`.
  - Removed MAVEN_OUTPUT_DIRECTORY from CMakeLists.txt.
@tresf
Copy link
Author

tresf commented Apr 11, 2019

@bmhm and I have agreed to keep .so|.dll|.dylib files in the source code for now. He's investigating using maven for storage, but we'll have to tackle that as a separate enhancement. @bmhm can you file a placeholder item for this?

Merging.

@tresf tresf merged commit 00e81c0 into master Apr 11, 2019
@tresf tresf deleted the maven branch April 11, 2019 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants