[GitHub] jena issue #490: JENA-1635 Fix invalid Automatic-Module-Name values
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/490 @afs feel free to pull this into #486. I used `fuseki2` because that's what was used [here](https://github.com/apache/jena/blob/master/jena-fuseki2/pom.xml#L57), but I'd also prefer just `fuseki`, as you suggest. ---
[GitHub] jena pull request #490: JENA-1635 Fix invalid Automatic-Module-Name values
GitHub user acoburn opened a pull request: https://github.com/apache/jena/pull/490 JENA-1635 Fix invalid Automatic-Module-Name values The jena-fuseki-access, jena-fuseki-core and jena-fuseki-main modules have invalid data for Automatic-Module-Name. This aligns the data from those modules with the existing fuseki2 module. You can merge this pull request into a Git repository by running: $ git pull https://github.com/acoburn/jena JENA-1635 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jena/pull/490.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #490 commit 24742db2d697def1057b27a0d3f29300185bac84 Author: Aaron Coburn Date: 2018-11-16T16:43:40Z JENA-1635 Fix invalid Automatic-Module-Name values The jena-fuseki-access, jena-fuseki-core and jena-fuseki-main modules have invalid data for Automatic-Module-Name. This aligns the data from those modules with the existing fuseki2 module. ---
[GitHub] jena issue #474: JENA-1609 Jena master does not build under JDK10
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/474 It is possibly worth noting here that these changes also make it possible to build Jena on JDK 11. ---
[GitHub] jena pull request #467: JENA-1599: Upgrade to jsonld-java 0.12.1
GitHub user acoburn opened a pull request: https://github.com/apache/jena/pull/467 JENA-1599: Upgrade to jsonld-java 0.12.1 This upgrades jsonld-java to the latest version. That version does not require an extra import of Guava in an OSGi environment (Guava is shaded in jsonld-java, but the bundle manifest was incorrect in 0.12.0), so the extra import can be removed from Jena's `feature.xml` file. Tested in Karaf 4.2.0 and 4.2.1 under JDK8 and JDK10. With JDK10, one will need to also install `javax.annotation-api` in the Karaf console, but that is separate from this issue. You can merge this pull request into a Git repository by running: $ git pull https://github.com/acoburn/jena JENA-1599 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jena/pull/467.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #467 commit 04f2c8a6a028633e27ae0d5c546b57b7c796c0c5 Author: Aaron Coburn Date: 2018-09-05T15:57:58Z JENA-1599: Upgrade to jsonld-java 0.12.1 ---
[GitHub] jena issue #428: Update OSGi imports
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/428 FYI, I have submitted a related PR to `jsonld-java`: https://github.com/jsonld-java/jsonld-java/pull/234 Once that change makes it into a `jsonld-java` release, it should be possible to remove the explicit dependency on Guava in the `features.xml` file. ---
[GitHub] jena pull request #428: Update OSGi imports
Github user acoburn commented on a diff in the pull request: https://github.com/apache/jena/pull/428#discussion_r194126560 --- Diff: apache-jena-osgi/jena-osgi-features/src/main/resources/features.xml --- @@ -21,28 +21,24 @@ mvn:org.apache.jena/jena-osgi/${project.version} jena_osgi_dependencies - - - mvn:com.github.andrewoma.dexx/collection/${ver.dexxcollection} - mvn:com.github.jsonld-java/jsonld-java/${ver.jsonldjava} - mvn:com.fasterxml.jackson.core/jackson-core/${ver.jackson} - mvn:com.fasterxml.jackson.core/jackson-databind/${ver.jackson} - mvn:com.fasterxml.jackson.core/jackson-annotations/${ver.jackson} - mvn:org.apache.httpcomponents/httpcore-osgi/${ver.httpcore-osgi} - mvn:org.apache.httpcomponents/httpclient-osgi/${ver.httpclient-osgi} - mvn:org.apache.commons/commons-csv/${ver.commonscsv} - mvn:org.apache.commons/commons-lang3/${ver.commonslang3} - mvn:commons-codec/commons-codec/${ver.commons-codec} - mvn:commons-io/commons-io/${ver.commonsio} - mvn:org.apache.thrift/libthrift/${ver.libthrift} - - - - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.11.0_1 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/1.2_5 + mvn:com.github.andrewoma.dexx/collection/${ver.dexxcollection} + mvn:com.github.jsonld-java/jsonld-java/${ver.jsonldjava} + mvn:com.fasterxml.jackson.core/jackson-core/${ver.jackson} + mvn:com.fasterxml.jackson.core/jackson-databind/${ver.jackson} + mvn:com.fasterxml.jackson.core/jackson-annotations/${ver.jackson} + mvn:org.apache.httpcomponents/httpcore-osgi/${ver.httpcore-osgi} + mvn:org.apache.httpcomponents/httpclient-osgi/${ver.httpclient-osgi} + mvn:org.apache.commons/commons-compress/${ver.commons-compress} + mvn:org.apache.commons/commons-csv/${ver.commonscsv} + mvn:org.apache.commons/commons-lang3/${ver.commonslang3} + mvn:commons-codec/commons-codec/${ver.commons-codec} + mvn:commons-io/commons-io/${ver.commonsio} + mvn:org.apache.thrift/libthrift/${ver.libthrift} + + mvn:com.google.guava/guava/24.1-jre --- End diff -- You are correct that jsonld-java does shade guava, but their OSGi bundle still imports the `com.google.common` packages: this is from the jsonld-java OSGi metadata: ``` Import-Package ... com.google.common.cache{version=[24.1,25)} com.google.common.collect {version=[24.1,25)} ``` And so in practice, adding guava as a dependency is still necessary. I think this is an error with the jsonld-java OSGi metadata, and I will bring this up with that project. For example, when trying to load just the `jsonld-java` bundle in Karaf -- once I add the Jackson dependencies -- I get this error if guava is not also installed: ``` Unable to resolve com.github.jsonld-java [46](R 46.0): missing requirement [com.github.jsonld-java [46](R 46.0)] osgi.wiring.package; (&(osgi.wiring.package=com.google.common.cache)(version>=24.1.0)(!(version>=25.0.0))) ``` ...which means that the guava packages need to be installed. Once guava is added, the jsonld-java bundle installs and starts just fine. ---
[GitHub] jena issue #428: Update OSGi imports
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/428 I built Jena with your change in #429 along with the changes from this PR, and for some reason the `jena-osgi` module still wants to import the `com.google.errorprone.annotations` and `org.checkerframework.checker` packages -- unless, of course, they are explicitly excluded, as in this PR. So, unless there is some other way to achieve this, I think it will be necessary to explicitly exclude those guava-related transitive dependencies. In the second commit, I removed the `xerces` feature. I also added the `dependency="true"` flag to all of the dependencies. Background on the `dependency="true"` attribute is available in the [Karaf documentation](https://karaf.apache.org/manual/latest/provisioning). I tested this in two ways. First, simply provisioning the `jena` feature in Karaf 4.2.0 works via `feature:install jena`. I also was able to provision and run a complete OSGi-based CXF application that makes use of Jena. One further change that could be made to the `features.xml` file is to remove the `jena_osgi_dependencies` feature, and instead put the content of that directly into the `jena` feature definition. That would result in `jena-osgi-features` making only a single feature available. That would simplify the file a bit, but that change also isn't strictly necessary. ---
[GitHub] jena issue #428: Update OSGi imports
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/428 Explicitly marking the dependency as optional might work. If that doesn't work, the import declaration in `jena-osgi` for `com.google.errorprone.annotations` is in the same category as `org.checkerframework.checker`: they are both related to the transitive dependencies in Guava. Marking them both as optional would work (`resolution:=optional`), as would excluding them entirely (`!org.checkerframework...`). It would make sense to treat them in the same way. You are correct, the `xerces` feature can be entirely removed. Once we figure out the best approach here, I can make that change as part of this PR -- unless you'd like it to be handled separately. ---
[GitHub] jena issue #428: Update OSGi imports
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/428 I am definitely no expert on shaded jars. The above comment was based on running `mvn dependency:tree` and seeing these compile-scoped dependencies: ``` [INFO] +- org.apache.jena:jena-shaded-guava:jar:3.8.0-SNAPSHOT:compile [INFO] | \- com.google.guava:guava:jar:24.1-jre:compile [INFO] | +- com.google.code.findbugs:jsr305:jar:1.3.9:compile [INFO] | +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile [INFO] | +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile [INFO] | +- com.google.j2objc:j2objc-annotations:jar:1.1:compile [INFO] | \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile ``` Also, when trying to provision `jena-osgi` in Karaf, those dependent modules are needed unless they are explicitly excluded (as in this PR). As for the jsonld dependency, the OSGi manifest headers include: ``` [IMPEXP] Import-Package ... com.google.common.cache{version=[24.1,25)} com.google.common.collect {version=[24.1,25)} ``` so perhaps that is something to bring up with the json-ld project. ---
[GitHub] jena issue #428: Update OSGi imports
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/428 I believe the Guava dependencies are brought in as part of the shading process. Those dependencies are not typically required for Guava itself (they are only test-scoped dependencies). So perhaps there is something that can be done in the `jena-shaded-guava` project to exclude those at that point. ---
[GitHub] jena pull request #428: Update OSGi imports
GitHub user acoburn opened a pull request: https://github.com/apache/jena/pull/428 Update OSGi imports Resolves: JENA-1557 This adds an exclusion for `org.checkerframework.checker.*`, which is now pulled in by `jena-shaded-guava`. This also adds guava (jsonld-java depends on this) and commons-compress to the `features.xml` file. In addition, this reformats the `Import-Package` definition to make it easier to read (and maintain). You can merge this pull request into a Git repository by running: $ git pull https://github.com/acoburn/jena JENA-1557 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jena/pull/428.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #428 commit 443d5697fc22c90172833695ec0bd01252e80a54 Author: Aaron Coburn Date: 2018-06-06T16:33:47Z Update OSGi imports Resolves: JENA-1557 ---
[GitHub] jena issue #411: Include TDB2 in the jena-osgi module
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/411 This deploys just fine in Karaf. ---
[GitHub] jena issue #411: Include TDB2 in the jena-osgi module
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/411 After adding the `tdb2` dependency as in this PR, the `jena-osgi` bundle includes the `org.apache.jena.dboe.*` classes. For example: ```bash $ bnd print ./target/jena-osgi-3.8.0-SNAPSHOT.jar ... org.apache.jena.dboe {version=3.8.0} org.apache.jena.dboe.base {version=3.8.0} org.apache.jena.dboe.base.block{version=3.8.0} org.apache.jena.dboe.base.buffer {version=3.8.0} org.apache.jena.dboe.base.file {version=3.8.0} org.apache.jena.dboe.base.page {version=3.8.0} org.apache.jena.dboe.base.record {version=3.8.0} org.apache.jena.dboe.base.recordbuffer {version=3.8.0} org.apache.jena.dboe.index {version=3.8.0} org.apache.jena.dboe.migrate {version=3.8.0} org.apache.jena.dboe.sys {version=3.8.0} org.apache.jena.dboe.test {version=3.8.0} org.apache.jena.dboe.trans.bplustree {version=3.8.0} org.apache.jena.dboe.trans.bplustree.rewriter {version=3.8.0} org.apache.jena.dboe.trans.data{version=3.8.0} org.apache.jena.dboe.transaction {version=3.8.0} org.apache.jena.dboe.transaction.txn {version=3.8.0} org.apache.jena.dboe.transaction.txn.journal {version=3.8.0} ... org.apache.jena.tdb2 {version=3.8.0} org.apache.jena.tdb2.assembler {version=3.8.0} org.apache.jena.tdb2.lib {version=3.8.0} org.apache.jena.tdb2.loader{version=3.8.0} org.apache.jena.tdb2.migrate {version=3.8.0} org.apache.jena.tdb2.modify{version=3.8.0} org.apache.jena.tdb2.setup {version=3.8.0} org.apache.jena.tdb2.solver{version=3.8.0} org.apache.jena.tdb2.solver.stats {version=3.8.0} org.apache.jena.tdb2.store {version=3.8.0} org.apache.jena.tdb2.store.nodetable {version=3.8.0} org.apache.jena.tdb2.store.nodetupletable {version=3.8.0} org.apache.jena.tdb2.store.tupletable {version=3.8.0} org.apache.jena.tdb2.store.value {version=3.8.0} org.apache.jena.tdb2.sys {version=3.8.0} ``` ---
[GitHub] jena pull request #411: Include TDB2 in the jena-osgi module
GitHub user acoburn opened a pull request: https://github.com/apache/jena/pull/411 Include TDB2 in the jena-osgi module Resolves https://issues.apache.org/jira/browse/JENA-1538 This adds the TDB2 packages to the jena-osgi artifact. You can merge this pull request into a Git repository by running: $ git pull https://github.com/acoburn/jena JENA-1538 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jena/pull/411.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #411 commit b901e14e50f563cf8e0f2993ca2362cc3c07b58e Author: Aaron Coburn <acoburn@...> Date: 2018-04-28T20:43:51Z Include TDB2 in the jena-osgi module ---
[GitHub] jena pull request #386: JENA-1508 Update OSGi provisioning features
GitHub user acoburn opened a pull request: https://github.com/apache/jena/pull/386 JENA-1508 Update OSGi provisioning features This marks the `com.google.errorprone.annotations.concurrent` package as optional. It also adds the (currently missing) `commons-codec` dependency to the `features.xml` file. You can merge this pull request into a Git repository by running: $ git pull https://github.com/acoburn/jena JENA-1508 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jena/pull/386.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #386 commit 9512887d6c3d2d5a76573bf60dd8a21226ae4581 Author: Aaron Coburn <acoburn@...> Date: 2018-03-16T19:34:48Z JENA-1508 Update OSGi provisioning features This marks the com.google.errorprone.annotations.concurrent package as optional. It also adds the (currently missing) commons-codec dependency to the features.xml file. ---
[GitHub] jena issue #210: Fixing JENA-1283 by using Maven properties to control versi...
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/210 I was able to install this successfully in a Karaf 4.x container. ð --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] jena issue #194: JENA-1263: Recommended redirect behavior
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/194 I can confirm that this patch solves the issue related to 303 redirects, outlined in JENA-1263. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] jena issue #139: JSON-LD output
Github user acoburn commented on the issue: https://github.com/apache/jena/pull/139 While this isn't exactly a review, I would add that what @fpservant has implemented here is _exactly_ what I need for some projects I work on -- projects that make heavy use of Jena, but when it comes to JSON-LD output, I mostly have to use the `jsonld-java` directly -- especially for handling flattened and expanded profiles. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---