Skip to content

Commit 00cf3b9

Browse files
runnerrunner
authored andcommitted
Release 4.5.0
1 parent 9824957 commit 00cf3b9

File tree

211 files changed

+6220
-1220
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+6220
-1220
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.unity3d.ads.example"
88
minSdkVersion 19
99
targetSdkVersion 30
10-
versionCode = 4410
11-
versionName = "4.4.1"
10+
versionCode = 4500
11+
versionName = "4.5.0"
1212
}
1313

1414
buildTypes {

build.gradle

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,24 @@ allprojects {
66
}
77

88
buildscript {
9+
ext {
10+
kotlin_version = '1.4.32' // 1.5 deprecated Java6
11+
coroutines_version = '1.4.3' // 1.6.0 deprecated Java6
12+
dokka_version = '1.6.10'
13+
}
14+
915
repositories {
1016
gradlePluginPortal()
1117
google()
1218
}
1319

1420
dependencies {
15-
classpath 'com.android.tools.build:gradle:4.2.1'
21+
classpath 'com.android.tools.build:gradle:4.2.2'
1622
classpath 'org.jacoco:org.jacoco.core:0.8.5'
1723
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.20.0'
1824
classpath 'io.github.gradle-nexus:publish-plugin:1.1.0'
25+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
26+
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
1927
}
2028
}
2129

dokka.gradle

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
apply plugin: 'org.jetbrains.dokka'
2+
3+
tasks.dokkaJavadoc.configure {
4+
5+
def docs = new File("$rootDir/../javadoc/")
6+
7+
if (!docs.exists()) {
8+
docs.mkdir()
9+
println(docs.toString())
10+
}
11+
12+
outputDirectory.set(docs)
13+
14+
def pkgToInclude = [
15+
"com.unity3d.ads",
16+
"com.unity3d.services",
17+
]
18+
19+
def fileNamesToExclude = [
20+
"R.java"
21+
]
22+
23+
def filesToExclude = []
24+
for (def fileName : fileNamesToExclude) {
25+
filesToExclude << "src/main/java/com/unity3d/ads/$fileName"
26+
}
27+
28+
dokkaSourceSets {
29+
configureEach {
30+
includeNonPublic.set(false)
31+
skipEmptyPackages.set(true)
32+
reportUndocumented.set(false)
33+
jdkVersion.set(7)
34+
35+
// By default all packages are suppressed.
36+
perPackageOption {
37+
matchingRegex.set("com.unity3d.*")
38+
suppress.set(true)
39+
}
40+
41+
// Reverse suppression for packages to be included.
42+
for (def pkg : pkgToInclude) {
43+
perPackageOption {
44+
matchingRegex.set(pkg)
45+
suppress.set(false)
46+
}
47+
}
48+
49+
suppressedFiles.setFrom(files(filesToExclude))
50+
}
51+
}
52+
}

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
include ':unity-scaradapter-1920'
22
include ':unity-scaradapter-1950'
33
include ':unity-scaradapter-2000'
4+
include ':unity-scaradapter-2100'
45
include ':unity-scaradapter-common'
56
include ':app', ':unity-ads'

unity-ads/build.gradle

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import com.android.ddmlib.DdmPreferences
22

33
apply plugin: 'com.android.library'
4+
apply plugin: 'kotlin-android'
5+
apply from: '../dokka.gradle'
46

57
Properties properties = new Properties()
68
if (project.rootProject.file('local.properties').exists()) {
@@ -10,8 +12,8 @@ if (project.rootProject.file('local.properties').exists()) {
1012
ext {
1113
GROUP_ID = "com.unity3d.ads"
1214
ARTIFACT_ID = "unity-ads"
13-
VERSION_ID = "4.4.1"
14-
VERSION_CODE = 4410
15+
VERSION_ID = "4.5.0"
16+
VERSION_CODE = 4500
1517
SIGN_AAR = properties.getProperty("SIGN_AAR") ?: false
1618
}
1719

@@ -49,6 +51,27 @@ android {
4951
targetCompatibility JavaVersion.VERSION_1_7
5052
}
5153

54+
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
55+
if (it.name.contains("UnitTest")) {
56+
sourceCompatibility = JavaVersion.VERSION_1_8
57+
targetCompatibility = JavaVersion.VERSION_1_8
58+
kotlinOptions {
59+
jvmTarget = "1.8"
60+
}
61+
} else {
62+
sourceCompatibility = JavaVersion.VERSION_1_6
63+
targetCompatibility = JavaVersion.VERSION_1_6
64+
kotlinOptions {
65+
jvmTarget = "1.6"
66+
}
67+
}
68+
kotlinOptions {
69+
apiVersion = "1.4"
70+
languageVersion = "1.4"
71+
freeCompilerArgs = freeCompilerArgs + "-Xopt-in=kotlin.RequiresOptIn" + "-Xallow-result-return-type"
72+
}
73+
}
74+
5275
buildTypes {
5376
release {
5477
minifyEnabled false
@@ -65,6 +88,9 @@ android {
6588

6689
dependencies {
6790
implementation fileTree(dir: 'libs', include: ['*.jar'])
91+
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
92+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
93+
androidTestCompileOnly project(':unity-scaradapter-2100')
6894
androidTestCompileOnly project(':unity-scaradapter-2000')
6995
androidTestCompileOnly project(':unity-scaradapter-1950')
7096
androidTestCompileOnly project(':unity-scaradapter-1920')
@@ -80,37 +106,20 @@ dependencies {
80106
androidTestImplementation 'com.google.android.gms:play-services-ads:19.5.0'
81107
androidTestImplementation 'com.android.billingclient:billing:4.0.0'
82108
compileOnly 'com.google.ar:core:1.0.0'
109+
compileOnly project(':unity-scaradapter-2100')
83110
compileOnly project(':unity-scaradapter-2000')
84111
compileOnly project(':unity-scaradapter-1950')
85112
compileOnly project(':unity-scaradapter-1920')
86113
compileOnly project(':unity-scaradapter-common')
87114
testImplementation 'junit:junit:4.13.2'
115+
testImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
116+
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
117+
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version"
118+
testImplementation "org.mockito.kotlin:mockito-kotlin:4.0.0"
88119
testImplementation 'org.mockito:mockito-core:2.28.2'
89120
testImplementation 'com.android.billingclient:billing:4.0.0'
90-
}
91-
92-
task javadoc(type: Javadoc) {
93-
description "Generates Javadoc for Release"
94-
source = android.sourceSets.main.java.srcDirs
95-
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
96-
ext.generatedClass = "build/generated/source/buildConfig/release/"
97-
doFirst {
98-
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
99-
classpath += files(ext.androidJar)
100-
classpath += fileTree(dir: 'libs', include: ['*.jar'])
101-
classpath += files(ext.generatedClass)
102-
}
103-
options {
104-
links "http://docs.oracle.com/javase/7/docs/api/"
105-
}
106-
exclude '**/R.java'
107-
destinationDir = file("../javadoc/")
108-
}
109-
110-
task androidJavadocsJar(type: Jar, dependsOn: javadoc) {
111-
archiveClassifier.set("javadoc")
112-
archiveBaseName.set("${archivesBaseName}")
113-
from javadoc.destinationDir
121+
testImplementation "io.mockk:mockk:1.11.0"
122+
testImplementation 'org.json:json:20180813'
114123
}
115124

116125
task androidSourcesJar(type: Jar) {
@@ -119,9 +128,15 @@ task androidSourcesJar(type: Jar) {
119128
from android.sourceSets.main.java.srcDirs
120129
}
121130

131+
task androidJavadocsJar(type: Jar, dependsOn: dokkaJavadoc) {
132+
archiveClassifier.set("javadoc")
133+
archiveBaseName.set("${archivesBaseName}")
134+
from "$rootDir/../javadoc/"
135+
}
136+
122137
artifacts {
123-
archives androidJavadocsJar
124138
archives androidSourcesJar
139+
archives androidJavadocsJar
125140
}
126141

127142
def getPropertyStringWithDefaultValue(String key, String defaultValue) {

unity-ads/publishing.gradle

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,43 @@ publishing {
3636
}
3737
}
3838
}
39+
40+
pom.withXml {
41+
def node = asNode()
42+
43+
// ugly hack to set the packaging property in the POM as 'aar'
44+
((NodeList) node.get('packaging')).get(0).value = 'aar'
45+
46+
def dependenciesNode = node.appendNode('dependencies')
47+
48+
def cl = { Dependency dep ->
49+
if (dep.group == null || dep.version == null || dep.name == null || dep.name == "unspecified")
50+
return // ignore invalid dependencies
51+
52+
def dependencyNode = dependenciesNode.appendNode('dependency')
53+
dependencyNode.appendNode('groupId', dep.group)
54+
dependencyNode.appendNode('artifactId', dep.name)
55+
dependencyNode.appendNode('version', dep.version)
56+
57+
if (!dep.transitive) {
58+
// If this dependency is transitive, we should force exclude all its dependencies them from the POM
59+
def exclusionNode = dependencyNode.appendNode('exclusions').appendNode('exclusion')
60+
exclusionNode.appendNode('groupId', '*')
61+
exclusionNode.appendNode('artifactId', '*')
62+
} else if (!dep.properties.excludeRules.empty) {
63+
// Otherwise add specified exclude rules
64+
def exclusionNode = dependencyNode.appendNode('exclusions').appendNode('exclusion')
65+
dep.properties.excludeRules.each { ExcludeRule rule ->
66+
exclusionNode.appendNode('groupId', rule.group ?: '*')
67+
exclusionNode.appendNode('artifactId', rule.module ?: '*')
68+
}
69+
}
70+
}
71+
72+
// List all dependencies and write to POM
73+
configurations.api.getAllDependencies().each cl
74+
configurations.releaseImplementation.getAllDependencies().each cl
75+
}
3976
}
4077
}
4178
}

unity-ads/src/androidTest/java/com/unity3d/ads/test/instrumentation/services/ads/gmascar/GmaScarTestSuite.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.unity3d.ads.test.instrumentation.services.ads.gmascar;
22

33
import com.unity3d.ads.test.instrumentation.services.ads.gmascar.adapters.ScarAdapterFactoryTest;
4+
import com.unity3d.ads.test.instrumentation.services.ads.gmascar.bridges.MobileAdsBridgeLegacyTest;
45
import com.unity3d.ads.test.instrumentation.services.ads.gmascar.finder.GMAInitializerTest;
56
import com.unity3d.ads.test.instrumentation.services.ads.gmascar.finder.PresenceDetectorTest;
67
import com.unity3d.ads.test.instrumentation.services.ads.gmascar.finder.ScarVersionFinderTest;
@@ -21,6 +22,7 @@
2122
AdapterStatusBridgeTest.class,
2223
InitializationStatusBridgeTest.class,
2324
InitializeListenerBridgeTest.class,
25+
MobileAdsBridgeLegacyTest.class,
2426
MobileAdsBridgeTest.class
2527
})
2628
public class GmaScarTestSuite {

unity-ads/src/androidTest/java/com/unity3d/ads/test/instrumentation/services/ads/gmascar/adapters/ScarAdapterFactoryTest.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.unity3d.scar.adapter.common.IAdsErrorHandler;
44
import com.unity3d.scar.adapter.common.IScarAdapter;
55
import com.unity3d.services.ads.gmascar.adapters.ScarAdapterFactory;
6+
import com.unity3d.services.ads.gmascar.finder.ScarAdapterVersion;
67

78
import org.junit.Assert;
89
import org.junit.Test;
@@ -19,31 +20,25 @@ public class ScarAdapterFactoryTest {
1920

2021
@Test
2122
public void testScarAdapterFactory1920() {
22-
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterFactory.CODE_19_2, adsErrorHandlerMock);
23+
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterVersion.V192, adsErrorHandlerMock);
2324
Assert.assertTrue(adapter instanceof com.unity3d.scar.adapter.v1920.ScarAdapter);
2425
}
2526

2627
@Test
2728
public void testScarAdapterFactory1950() {
28-
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterFactory.CODE_19_5, adsErrorHandlerMock);
29-
Assert.assertTrue(adapter instanceof com.unity3d.scar.adapter.v1950.ScarAdapter);
30-
}
31-
32-
@Test
33-
public void testScarAdapterFactory1980() {
34-
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterFactory.CODE_19_8, adsErrorHandlerMock);
29+
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterVersion.V195, adsErrorHandlerMock);
3530
Assert.assertTrue(adapter instanceof com.unity3d.scar.adapter.v1950.ScarAdapter);
3631
}
3732

3833
@Test
3934
public void testScarAdapterFactory2000() {
40-
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterFactory.CODE_20_0, adsErrorHandlerMock);
35+
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterVersion.V20, adsErrorHandlerMock);
4136
Assert.assertTrue(adapter instanceof com.unity3d.scar.adapter.v2000.ScarAdapter);
4237
}
4338

4439
@Test
4540
public void testScarAdapterFactoryUnsupported() {
46-
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(-1, adsErrorHandlerMock);
41+
IScarAdapter adapter = _scarAdapterFactory.createScarAdapter(ScarAdapterVersion.NA, adsErrorHandlerMock);
4742
Assert.assertNull(adapter);
4843
}
4944
}

0 commit comments

Comments
 (0)