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

Tag the releases and/or produce aggrerate source JAR #44

Open
berezovskyi opened this issue Jul 21, 2017 · 3 comments
Open

Tag the releases and/or produce aggrerate source JAR #44

berezovskyi opened this issue Jul 21, 2017 · 3 comments

Comments

@berezovskyi
Copy link
Contributor

berezovskyi commented Jul 21, 2017

We would like to reuse shaclex in the Eclipse Lyo project. Eclipse requires us to let their IP lawyers to review all the source code of the libraries we use and make sure there is no GPLed or copypasted source code.

I usually upload the source jar I get from maven central for the review. The shaclex source jar I got from bintray has only 2 source files, does not include a license file and does not list its dependencies.

  1. Is it possible to build more complete source jars? The closest I came in googling is here: http://www.scala-sbt.org/0.13/docs/Howto-Package.html
  2. Can you please tag ad6d3db as 0.0.62, please?
  3. Can you confirm that if I want to archive only the subset of the repository tree that contains the source that is shipped in the JARs, I should take /src and /modules directories (excluding src/test subdirectories)?

I know you don't really have to help us out with all these license/tagging things, so I just want to thank you in advance for all your effort!

@berezovskyi
Copy link
Contributor Author

0a038e6 seems to be 0.0.61

009d3fc seems to be 0.0.60

ed0969a seems to be 0.0.57

@labra
Copy link
Member

labra commented Jul 22, 2017

Thanks for your issue. I would be happy if you can include Shaclex in Eclipse Lyo. The only problem is that I don't know exactly how to do it at this moment.

Answering your questions:

Eclipse requires us to let their IP lawyers to review all the source code of the libraries we use and make sure there is no GPLed or copypasted source code.

Apart of the code that I wrote, the rest of the imported libraries are those that are listed in the build.sbt file:

https://github.com/labra/shaclex/blob/master/build.sbt

The libraries on which Shaclex depends are the following:

  • "org.antlr" % "antlr4"
  • "org.atnos" %% "eff" % effVersion
  • "io.circe" %% "circe-core" % circeVersion
  • "io.circe" %% "circe-generic" % circeVersion
  • "io.circe" %% "circe-parser" % circeVersion
  • "org.typelevel" %% "cats"
  • "ch.qos.logback" % "logback-classic"
  • "com.typesafe.scala-logging" % "scala-logging"
  • "org.scalactic" %% "scalactic"
  • "org.scalatest" %% "scalatest"
  • "org.http4s" %% "http4s-dsl"
  • "com.typesafe" % "config"
  • "org.apache.jena" % "jena-arq"
  • "com.lihaoyi" %% "scalatags"
  • "org.gnieh" %% "diffson-circe"
  • "xerces" % "xercesImpl"
  • "org.jgrapht" % "jgrapht-core"
  • "com.github.nikita-volkov" % "sext"

I usually upload the source jar I get from maven central for the review. The shaclex source jar I got from bintray has only 2 source files, does not include a license file and does not list its dependencies.

It seems that the packaged file you are looking at is the one that is packaged for the main module called "shaclex" which only contains the "main" method to execute shaclex online. The rest of the functionality is provided by the code in the different modules. Each module has his own folder under the modules folder:

https://github.com/labra/shaclex/tree/master/modules

One possible solution is to just take the source code of each of those modules. It is published in the same bintray with the corresponding name. For example, the code for version 0.0.63 of the shacl module is here:

https://bintray.com/labra/maven/shacl#files/es%2Fweso%2Fshacl_2.12%2F0.0.63

Is it possible to build more complete source jars? The closest I came in googling is here: http://www.scala-sbt.org/0.13/docs/Howto-Package.html

I was looking at it but it doesn't say how to include the sources from the modules. If you know how to do it, let me know.

I understand that what you need is to have a jar with all the source files from all the modules. I know how to create a whole binary jar with all the compiled classes. This is done by the "sbt-native-packager":

http://www.scala-sbt.org/sbt-native-packager/index.html

It seems that there is a universal-src configuration:

http://www.scala-sbt.org/sbt-native-packager/formats/universal.html#configurations

for creating bundles of source.

But I don't know how to use it yet. If you can give it a try, let me know. You can create a Pull request if you want.

Can you please tag ad6d3db as 0.0.62, please?

Done, I have also added tags to the other list that you sent.

One peding thing to do is to automate the process of publishing to bintray and adding a tag so I don't forget in the future.

Can you confirm that if I want to archive only the subset of the repository tree that contains the source that is shipped in the JARs, I should take /src and /modules directories (excluding src/test subdirectories)?

Yes. All the source code of the Shaclex library is contains in the src folder of the root module and in the same folder of all the modules directories.

I will keep this issue open until we are able to generate an aggregated source jar.

@labra
Copy link
Member

labra commented Jul 22, 2017

I asked the question about generating source jar for multi-module projects to stack overflow

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

No branches or pull requests

2 participants