You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Preston Koprivica (Jira)" <ji...@apache.org> on 2019/09/27 14:00:00 UTC

[jira] [Comment Edited] (BEAM-8021) Add Automatic-Module-Name headers for Beam Java modules

    [ https://issues.apache.org/jira/browse/BEAM-8021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16939462#comment-16939462 ] 

Preston Koprivica edited comment on BEAM-8021 at 9/27/19 1:59 PM:
------------------------------------------------------------------

[~ŁukaszG] I'm sorry, I slightly misdiagnosed.  Downstream projects seem to have been broken.  I was trying to run a quick integration test for a beam change I was making and I wasn't able to pull in the flink-runner anymore.   I published locally with: 

{code}
./gradlew clean -Ppublishing -PdistMgmtSnapshotsUrl=~/.m2/repository/ publishToMavenLocal
{code}

And then in the downstream project, I just included the flink runner.  

{code}
                <dependency>
                    <groupId>org.apache.beam</groupId>
                    <artifactId>beam-runners-flink-1.8</artifactId>
                    <version>2.17.0-SNAPSHOT</version>
                    <scope>compile</scope>
                </dependency>
{code} 

And it failed to compile due to missing dependencies:

{code}
$ mvn clean package
... 
[ERROR] Failed to execute goal on project <project>: Could not resolve dependencies for project <project>:jar:0.1-SNAPSHOT: Could not find artifact org.apache.beam:beam-sdks-java-build-tools:jar:2.17.0-SNAPSHOT in ... -> [Help 1]
... 
{code}


was (Author: pk020157):
[~ŁukaszG] I'm sorry, I slightly misdiagnosed.  Downstream projects seem to have been broken.  I was trying to run a quick integration test for a beam change I was making and I wasn't able to pull in the flink-runner anymore.   I published locally with: 

{code}
./gradlew clean -Ppublishing -PdistMgmtSnapshotsUrl=~/.m2/repository/ publishToMavenLocal
{code}

And then in the downstream project, I just included the flink runner.  

{code}
                <dependency>
                    <groupId>org.apache.beam</groupId>
                    <version>2.17.0-SNAPSHOT</version>
                    <scope>compile</scope>
                </dependency>
{code} 

And it failed to compile due to missing dependencies:

{code}
$ mvn clean package
... 
[ERROR] Failed to execute goal on project <project>: Could not resolve dependencies for project <project>:jar:0.1-SNAPSHOT: Could not find artifact org.apache.beam:beam-sdks-java-build-tools:jar:2.17.0-SNAPSHOT in ... -> [Help 1]
... 
{code}

> Add Automatic-Module-Name headers for Beam Java modules 
> --------------------------------------------------------
>
>                 Key: BEAM-8021
>                 URL: https://issues.apache.org/jira/browse/BEAM-8021
>             Project: Beam
>          Issue Type: Sub-task
>          Components: build-system
>            Reporter: Ismaël Mejía
>            Assignee: Lukasz Gajowy
>            Priority: Minor
>             Fix For: 2.17.0
>
>          Time Spent: 8h
>  Remaining Estimate: 0h
>
> For compatibility with the Java Platform Module System (JPMS) in Java 9 and later, every JAR should have a module name, even if the library does not itself use modules. As [suggested in the mailing list|https://lists.apache.org/thread.html/956065580ce049481e756482dc3ccfdc994fef3b8cdb37cab3e2d9b1@%3Cdev.beam.apache.org%3E], this is a simple change that we can do and still be backwards compatible.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)