use gradle / add to artifactory
I want to consume this library in one android-application - looks really useful and seems to work nice - but currently I would have to drop in the jar which I do not find appealing. My solution now is to use @jitpack which points to a fork of jsyn where I added gradle build-files:
https://github.com/ligi/MassiveSignal/commit/de8981776d7d2dbec984ef4235416df5522a70ba
https://github.com/ligi/jsyn
also there I removed JPortAudioDevice and the corresponding dependency as I do not want this on android. Ideally I would see 3 artifacts here jsyn-core, then jsyn-android ( depends on core ) and jsyn-portaudio ( also depends on core ). Not sure what your take on this is - could also provide a PR in this direction but would like to know your opinion on this before. Do you want to keep ant? What do you think about splitting into 3 artifacts?
cc @ptrv
I'm glad you like JSyn. I want to make it useful for people. Different people need different things. So I have not yet tried to optimize the build for specific targets. I'm not opposed to it. It just hasn't been a priority. You're the first person to ask.
I would have to drop in the jar which I do not find appealing.
Does the JAR cause technical problems? It is handy for me to publish one JAR on the website.
I removed JPortAudioDevice and the corresponding dependency as I do not want this on android.
Was there a specific build problem with JPortAudioDevice? JSyn also has over a hundred unit generators and you probably only use a few. The JavaSound code is also not used on Android. ProGuard should strip out unused code.
What do you think about splitting into 3 artifacts?
I want to understand. Are you proposing 3 git repositories or are the artifacts just gradle build targets?
JARs have the following problems:
- they are not really versioned and being able to easily correlate them to the source-code
- it makes the repo bigger than needed ( you do not really want binaries in your git repo )
- when using the jar it is harder to get the attached sourcecode in the IDE ( when from artifact-repo like maven-central, jcenter or jitpack you can easily attach the sources for nicer development )
- It makes it hard to publish your app on fdroid ( https://fdroid.org ) as you have to show that the binary jar resulted from given source and there is no binary without attached source-code
- It's easy to find out that there are updates to an artifact ( there are even plugins for that ) - with the jar I would have to poll for new versions.
Regarding the split - I would suggest to do a multi-module gradle build: https://jitpack.io/docs/BUILDING/#multi-module-projects
oh nice - just saw that a lot of work towards this was done in 46888fae6eb7b1dd386f7af7d101ead99ae61981 by @RubbaBoy