Skip to content

Commit aec11cd

Browse files
Merge pull request #796 from simpligility/pr_for_793
Allowing D8 to be invoked inj build tools 29+.
2 parents e0e2a65 + 87550cd commit aec11cd

5 files changed

Lines changed: 22 additions & 26 deletions

File tree

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
<asm.version>5.0.4</asm.version>
4444
<!-- Attention - make sure that the tools version is the versions of
4545
the transitive dependencies of the builder version -->
46-
<android.builder.version>2.3.0</android.builder.version>
47-
<android.tools.version>25.3.0</android.tools.version>
46+
<android.builder.version>2.3.3</android.builder.version>
47+
<android.tools.version>25.3.3</android.tools.version>
4848
</properties>
4949

5050
<scm>

src/main/java/com/simpligility/maven/plugins/android/phase01generatesources/GenerateSourcesMojo.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import com.simpligility.maven.plugins.android.CommandExecutor;
2121
import com.simpligility.maven.plugins.android.ExecutionException;
2222
import com.simpligility.maven.plugins.android.common.AaptCommandBuilder;
23-
import com.simpligility.maven.plugins.android.common.AaptCommandBuilder.AaptPackageCommandBuilder;
2423
import com.simpligility.maven.plugins.android.common.DependencyResolver;
2524
import com.simpligility.maven.plugins.android.common.FileRetriever;
2625
import com.simpligility.maven.plugins.android.configuration.BuildConfigConstant;
@@ -620,7 +619,12 @@ private void checkPackagesForDuplicates() throws MojoExecutionException
620619
{
621620
messageBuilder
622621
.append( messageBuilder.length() > 0 ? ", " : " [" )
623-
.append( item.getArtifactId() );
622+
.append( item.getGroupId() )
623+
.append( ":" )
624+
.append( item.getArtifactId() )
625+
.append( ":" )
626+
.append( item.getVersion() )
627+
;
624628
}
625629
messageBuilder
626630
.append( "] have similar package='" )
@@ -771,7 +775,7 @@ private void generateR() throws MojoExecutionException
771775

772776
genDirectory.mkdirs();
773777

774-
final AaptPackageCommandBuilder commandBuilder = AaptCommandBuilder
778+
final AaptCommandBuilder.AaptPackageCommandBuilder commandBuilder = AaptCommandBuilder
775779
.packageResources( getLog() )
776780
.makePackageDirectories()
777781
.setResourceConstantsFolder( genDirectory )

src/main/java/com/simpligility/maven/plugins/android/phase08preparepackage/D8Mojo.java

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -355,20 +355,6 @@ private void parseConfiguration()
355355
}
356356
}
357357

358-
private List< String > dexDefaultCommands() throws MojoExecutionException
359-
{
360-
List< String > commands = jarDefaultCommands();
361-
commands.add( getAndroidSdk().getD8JarPath() );
362-
return commands;
363-
}
364-
365-
private List<String> jarDefaultCommands()
366-
{
367-
List< String > commands = javaDefaultCommands();
368-
commands.add( "-jar" );
369-
return commands;
370-
}
371-
372358
private List<String> javaDefaultCommands()
373359
{
374360
List< String > commands = new ArrayList< String > ();
@@ -394,7 +380,13 @@ private List<String> javaDefaultCommands()
394380
private void runD8( CommandExecutor executor )
395381
throws MojoExecutionException
396382
{
397-
final List< String > commands = dexDefaultCommands();
383+
final List< String > commands = javaDefaultCommands();
384+
385+
// Add d8 class to be invoked (As of Android 30 the D8 class is not included as a main attribute in the Jar).
386+
commands.add( "-classpath" );
387+
commands.add( getAndroidSdk().getD8JarPath() );
388+
commands.add( "com.android.tools.r8.D8" );
389+
398390
final Set< File > inputFiles = getD8InputFiles();
399391
if ( parsedIntermediate )
400392
{

src/test/java/com/simpligility/maven/plugins/android/AndroidSdkTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ public void validPlatformsAndApiLevels19() {
8585
@Test
8686
public void validPlatformsAndApiLevels22() {
8787
// Remember to add further platforms to .travis.yml if you add more platforms here, otherwise ci build fails
88-
final AndroidSdk sdk22 = new AndroidSdk(new File(sdkTestSupport.getEnv_ANDROID_HOME()), "22", null);
88+
final AndroidSdk sdk22 = new AndroidSdk(new File(sdkTestSupport.getEnv_ANDROID_HOME()), "22" );
8989
Assert.assertTrue( sdk22.getAaptPath() != null && !sdk22.getAaptPath().equals( "" ) );
9090
}
9191

9292
@Test
9393
public void validPlatformsAndApiLevels25() {
9494
// Remember to add further platforms to .travis.yml if you add more platforms here, otherwise ci build fails
95-
final AndroidSdk sdk25 = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME()), "25", "25.0.3" );
95+
final AndroidSdk sdk25 = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME()), "25" );
9696
Assert.assertTrue( sdk25.getAaptPath() != null && !sdk25.getAaptPath().equals( "" ) );
9797
}
9898

@@ -124,21 +124,21 @@ public void invalidBuildTools() {
124124
@Test
125125
public void validPlatformsAndApiLevelsWithDiffBuildTools1() {
126126
// Remember to add further platforms to .travis.yml if you add more platforms here, otherwise ci build fails
127-
final AndroidSdk sdk = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME() ), "19", "25.0.3" );
127+
final AndroidSdk sdk = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME() ), "19", "28.0.3" );
128128
Assert.assertTrue( sdk.getAaptPath() != null && !sdk.getAaptPath().equals( "" ) );
129129
}
130130

131131
@Test
132132
public void validPlatformsAndApiLevelsWithDiffBuildTools2() {
133133
// Remember to add further platforms to .travis.yml if you add more platforms here, otherwise ci build fails
134-
final AndroidSdk sdk = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME() ), "19", "24.0.3" );
134+
final AndroidSdk sdk = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME() ), "19", "28.0.3" );
135135
Assert.assertTrue( sdk.getAaptPath() != null && !sdk.getAaptPath().equals( "" ) );
136136
}
137137

138138
@Test
139139
public void validPlatformsAndApiLevelsWithDiffBuildTools3() {
140140
// Remember to add further platforms to .travis.yml if you add more platforms here, otherwise ci build fails
141-
final AndroidSdk sdk = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME() ), "28", "28.0.3" );
141+
final AndroidSdk sdk = new AndroidSdk( new File( sdkTestSupport.getEnv_ANDROID_HOME() ), "28", "30.0.2" );
142142
Assert.assertTrue( sdk.getAaptPath() != null && !sdk.getAaptPath().equals( "" ) );
143143
}
144144

src/test/java/com/simpligility/maven/plugins/android/SdkTestSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class SdkTestSupport {
3232
public SdkTestSupport() {
3333
Assert.assertNotNull("For running the tests, you must have environment variable ANDROID_HOME set to a valid Android SDK 25 directory.", env_ANDROID_HOME);
3434

35-
sdk_with_platform_default = new AndroidSdk(new File(env_ANDROID_HOME), "25", "25.0.3");
35+
sdk_with_platform_default = new AndroidSdk(new File(env_ANDROID_HOME), "25", "30.0.2" );
3636
}
3737

3838
public String getEnv_ANDROID_HOME() {

0 commit comments

Comments
 (0)