Skip to content

Commit

Permalink
Treat pom scope=runtime as compile to make gradle poms usable
Browse files Browse the repository at this point in the history
Gradle's "implementation" configuration for dependencies results in
published maven poms that are technically accurate for building
bytecode, but useless for building J2CL. To fix this, we interpret any
scope=runtime as if it says scope=compile.

This patch also tests many publicly released gwt modules to ensure that
they build cleanly in the plugin, with the hope of avoiding this issue
in the future. There are several commented out dependencies, to avoid
trying to build gwt-dom until the next release is ready. Bug Vertispan#127 is
filed for followup.

Fixes Vertispan#126
  • Loading branch information
niloc132 committed Nov 7, 2022
1 parent b4159cd commit 1a553b0
Show file tree
Hide file tree
Showing 2 changed files with 158 additions and 0 deletions.
3 changes: 3 additions & 0 deletions j2cl-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@
<environmentVariables>
<MAVEN_OPTS>-ea</MAVEN_OPTS>
</environmentVariables>
<extraArtifacts>
<artifact>com.google.jsinterop:jsinterop-annotations:1.0.2</artifact>
</extraArtifacts>
</configuration>
</plugin>

Expand Down
155 changes: 155 additions & 0 deletions j2cl-maven-plugin/src/it/gwt-modules-project/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>gwt-modules-project</groupId>
<artifactId>gwt-modules-project</artifactId>
<version>1.0</version>

<properties>
</properties>

<dependencies>
<dependency>
<groupId>org.gwtproject.http</groupId>
<artifactId>gwt-http</artifactId>
<version>1.0.0-RC3</version>
</dependency>
<dependency>
<groupId>org.gwtproject.json</groupId>
<artifactId>gwt-json</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<!-- Several dependencies are commented out until #127 is fixed -->
<!-- <dependency>-->
<!-- <groupId>org.gwtproject.layout</groupId>-->
<!-- <artifactId>gwt-layout</artifactId>-->
<!-- <version>1.0.0-RC1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.gwtproject.event</groupId>-->
<!-- <artifactId>gwt-event-dom</artifactId>-->
<!-- <version>1.0.0-RC1</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.gwtproject.event</groupId>
<artifactId>gwt-event-legacy</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.event</groupId>
<artifactId>gwt-logical-event</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.gwtproject.animation</groupId>-->
<!-- <artifactId>gwt-animation</artifactId>-->
<!-- <version>1.0.0-RC1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.gwtproject.aria</groupId>-->
<!-- <artifactId>gwt-aria</artifactId>-->
<!-- <version>1.0.0-RC1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.gwtproject.dom</groupId>-->
<!-- <artifactId>gwt-dom</artifactId>-->
<!-- <version>1.0.0-RC1</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.gwtproject.xhr</groupId>
<artifactId>gwt-xhr</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.safehtml</groupId>
<artifactId>gwt-safehtml</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.safehtml</groupId>
<artifactId>gwt-safecss</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.regexp</groupId>
<artifactId>gwt-regexp</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.core</groupId>
<artifactId>gwt-core</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.xml</groupId>
<artifactId>gwt-xml</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.callback</groupId>
<artifactId>gwt-callback</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.timer</groupId>
<artifactId>gwt-timer</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.typedarrays</groupId>
<artifactId>gwt-typedarrays</artifactId>
<version>1.0.0-RC2</version>
</dependency>
<dependency>
<groupId>org.gwtproject.user.window</groupId>
<artifactId>gwt-window</artifactId>
<version>1.0.0-RC2</version>
</dependency>
<dependency>
<groupId>org.gwtproject.place</groupId>
<artifactId>gwt-places</artifactId>
<version>1.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.gwtproject.user.history</groupId>
<artifactId>gwt-history</artifactId>
<version>1.0.0-RC1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>@project.groupId@</groupId>
<artifactId>@project.artifactId@</artifactId>
<version>@project.version@</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>google-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/google-snapshots/</url>
</repository>
</repositories>
</project>

0 comments on commit 1a553b0

Please sign in to comment.