Skip to content

Commit e6aed1f

Browse files
author
Vignesh Raja
authored
Add generated BuildConfig class containing version instead of using a resource file (#48)
1 parent 32aea2c commit e6aed1f

File tree

11 files changed

+38
-84
lines changed

11 files changed

+38
-84
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ buildscript {
1414
plugins {
1515
id 'net.researchgate.release' version '2.2.1'
1616
id 'nebula.optional-base' version '3.0.3'
17-
id "me.champeau.gradle.jmh" version "0.3.1"
17+
id 'me.champeau.gradle.jmh' version '0.3.1'
1818
}
1919

2020
allprojects {

core-api/build.gradle

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
buildscript {
2+
repositories {
3+
jcenter()
4+
}
5+
dependencies {
6+
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
7+
}
8+
}
9+
10+
plugins {
11+
id 'de.fuerstenau.buildconfig' version '1.1.7'
12+
}
13+
114
dependencies {
215
compile group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion
316
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: jacksonVersion
@@ -12,24 +25,21 @@ dependencies {
1225
provided group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion, optional
1326
}
1427

15-
task build << {
16-
// add the build version information into a file that'll go into the distribution
17-
ext.buildVersion = new File(projectDir, "src/main/resources/optimizely-build-version")
18-
buildVersion.text = version
28+
apply plugin: 'com.jfrog.bintray'
29+
apply plugin: 'de.fuerstenau.buildconfig'
30+
apply plugin: 'maven-publish'
31+
32+
buildConfig {
33+
appName = 'core-api'
34+
version = rootProject.version
1935
}
2036

21-
buildscript {
22-
repositories {
23-
jcenter()
24-
}
25-
dependencies {
26-
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
37+
sourceSets {
38+
main {
39+
java.srcDir "${buildDir}/gen/buildconfig/src/main/"
2740
}
2841
}
2942

30-
apply plugin: 'com.jfrog.bintray'
31-
apply plugin: 'maven-publish'
32-
3343
publishing {
3444
publications {
3545
mavenJava(MavenPublication) {

core-api/src/main/java/com/optimizely/ab/Optimizely.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import com.optimizely.ab.error.RaiseExceptionErrorHandler;
3434
import com.optimizely.ab.event.EventHandler;
3535
import com.optimizely.ab.event.LogEvent;
36-
import com.optimizely.ab.event.internal.BuildVersionInfo;
3736
import com.optimizely.ab.event.internal.EventBuilder;
3837
import com.optimizely.ab.event.internal.EventBuilderV1;
3938
import com.optimizely.ab.event.internal.EventBuilderV2;
@@ -693,7 +692,7 @@ public Optimizely build() throws ConfigParseException {
693692
}
694693

695694
if (clientVersion == null) {
696-
clientVersion = BuildVersionInfo.VERSION;
695+
clientVersion = BuildConfig.VERSION;
697696
}
698697

699698
if (eventBuilder == null) {

core-api/src/main/java/com/optimizely/ab/event/internal/BuildVersionInfo.java

Lines changed: 0 additions & 58 deletions
This file was deleted.

core-api/src/main/java/com/optimizely/ab/event/internal/EventBuilderV1.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package com.optimizely.ab.event.internal;
1818

19+
import com.optimizely.ab.BuildConfig;
1920
import com.optimizely.ab.event.LogEvent;
2021
import com.optimizely.ab.internal.ProjectValidationUtils;
2122
import com.optimizely.ab.bucketing.Bucketer;
@@ -51,7 +52,7 @@ public class EventBuilderV1 extends EventBuilder {
5152

5253
// offline conversion parameter names and prefixes
5354
private static final String ACCOUNT_ID_PARAM = "d";
54-
private static final String BUILD_VERSION = "java-sdk-" + BuildVersionInfo.VERSION;
55+
private static final String BUILD_VERSION = "java-sdk-" + BuildConfig.VERSION;
5556
private static final String EMPTY_BODY = "";
5657
private static final String EXPERIMENT_PARAM_PREFIX = "x";
5758
private static final String GOAL_ID_PARAM = "g";

core-api/src/main/java/com/optimizely/ab/event/internal/EventBuilderV2.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package com.optimizely.ab.event.internal;
1818

19+
import com.optimizely.ab.BuildConfig;
1920
import com.optimizely.ab.annotations.VisibleForTesting;
2021
import com.optimizely.ab.bucketing.Bucketer;
2122
import com.optimizely.ab.config.Attribute;
@@ -63,7 +64,7 @@ public class EventBuilderV2 extends EventBuilder {
6364
private Serializer serializer;
6465

6566
public EventBuilderV2() {
66-
this(ClientEngine.JAVA_SDK, BuildVersionInfo.VERSION);
67+
this(ClientEngine.JAVA_SDK, BuildConfig.VERSION);
6768
}
6869

6970
public EventBuilderV2(ClientEngine clientEngine, String clientVersion) {

core-api/src/main/java/com/optimizely/ab/event/internal/payload/Event.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import com.fasterxml.jackson.annotation.JsonValue;
2020

21-
import com.optimizely.ab.event.internal.BuildVersionInfo;
21+
import com.optimizely.ab.BuildConfig;
2222

2323
public class Event {
2424

@@ -39,7 +39,7 @@ public String getClientEngineValue() {
3939
}
4040

4141
String clientEngine = ClientEngine.JAVA_SDK.getClientEngineValue();
42-
String clientVersion = BuildVersionInfo.VERSION;
42+
String clientVersion = BuildConfig.VERSION;
4343

4444
public String getClientEngine() {
4545
return clientEngine;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
optimizely-build-version
1+

core-api/src/test/java/com/optimizely/ab/OptimizelyBuilderTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.optimizely.ab.error.ErrorHandler;
2323
import com.optimizely.ab.error.NoOpErrorHandler;
2424
import com.optimizely.ab.event.EventHandler;
25-
import com.optimizely.ab.event.internal.BuildVersionInfo;
2625
import com.optimizely.ab.event.internal.EventBuilderV2;
2726
import com.optimizely.ab.event.internal.payload.Event.ClientEngine;
2827

@@ -143,7 +142,7 @@ public void withDefaultClientVersion() throws Exception {
143142
Optimizely optimizelyClient = Optimizely.builder(validConfigJsonV2(), mockEventHandler)
144143
.build();
145144

146-
assertThat(((EventBuilderV2)optimizelyClient.eventBuilder).clientVersion, is(BuildVersionInfo.VERSION));
145+
assertThat(((EventBuilderV2)optimizelyClient.eventBuilder).clientVersion, is(BuildConfig.VERSION));
147146
}
148147

149148
@Test

core-api/src/test/java/com/optimizely/ab/event/internal/EventBuilderV2Test.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import com.google.gson.Gson;
2020

21+
import com.optimizely.ab.BuildConfig;
2122
import com.optimizely.ab.bucketing.Bucketer;
2223
import com.optimizely.ab.event.LogEvent;
2324
import com.optimizely.ab.config.Attribute;
@@ -97,7 +98,7 @@ public void createImpressionEvent() throws Exception {
9798
assertThat(impression.getAccountId(), is(projectConfig.getAccountId()));
9899
assertThat(impression.getUserFeatures(), is(expectedUserFeatures));
99100
assertThat(impression.getClientEngine(), is(ClientEngine.JAVA_SDK.getClientEngineValue()));
100-
assertThat(impression.getClientVersion(), is(BuildVersionInfo.VERSION));
101+
assertThat(impression.getClientVersion(), is(BuildConfig.VERSION));
101102
}
102103

103104
/**
@@ -210,7 +211,7 @@ public void createConversionEvent() throws Exception {
210211
assertFalse(conversion.getIsGlobalHoldback());
211212
assertThat(conversion.getAnonymizeIP(), is(projectConfig.getAnonymizeIP()));
212213
assertThat(conversion.getClientEngine(), is(ClientEngine.JAVA_SDK.getClientEngineValue()));
213-
assertThat(conversion.getClientVersion(), is(BuildVersionInfo.VERSION));
214+
assertThat(conversion.getClientVersion(), is(BuildConfig.VERSION));
214215
}
215216

216217
/**

0 commit comments

Comments
 (0)