Skip to content

Commit 2f8fba3

Browse files
committed
made SDK Updater into a tool
1 parent c02b729 commit 2f8fba3

File tree

9 files changed

+158
-62
lines changed

9 files changed

+158
-62
lines changed

.classpath

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,5 @@
66
<classpathentry combineaccessrules="false" kind="src" path="/processing-core"/>
77
<classpathentry combineaccessrules="false" kind="src" path="/processing-java"/>
88
<classpathentry kind="lib" path="mode/gradle-tooling-api-4.0.jar"/>
9-
<classpathentry kind="lib" path="/Users/andres/code/android/android-studio/sdk/tools/lib/repository-25.3.2.jar"/>
10-
<classpathentry kind="lib" path="/Users/andres/code/android/android-studio/sdk/tools/lib/sdklib-25.3.2.jar"/>
119
<classpathentry kind="output" path="core/bin"/>
1210
</classpath>

build.gradle

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ allprojects {
1414
apply plugin: 'java'
1515

1616
ext.android_platform = "$sdkdir/platforms/android-$sdkver"
17+
ext.android_tools_lib = "$sdkdir/platforms/android-$sdkver/tools/lib"
1718
ext.core_jar_path = "$rootDir/processing-core.zip"
1819

1920
repositories {
@@ -23,6 +24,7 @@ allprojects {
2324
flatDir dirs: "$rootDir/libraries/vr/library"
2425
flatDir dirs: "$sdkdir/tools/lib"
2526
flatDir dirs: android_platform
27+
flatDir dirs: android_tools_lib
2628
}
2729

2830
sourceCompatibility = 1.7
@@ -36,9 +38,7 @@ dependencies {
3638
compile group: 'org.processing', name: 'core', version: '3.3.4'
3739
compile group: 'org.processing', name: 'pde', version: '3.3.4'
3840
compile group: 'org.processing', name: 'java-mode', version: '3.3.4'
39-
compile "org.gradle:gradle-tooling-api:3.2.1"
40-
compile "com.android.repository:repository:25.3.2"
41-
compile "com.android.sdklib:sdklib:25.3.2"
41+
compile "org.gradle:gradle-tooling-api:4.0"
4242
}
4343

4444
sourceSets {
@@ -64,6 +64,7 @@ task dist {
6464
FileUtils.copyDirectory(file("icons"), file("$root/icons"))
6565
FileUtils.copyDirectory(file("mode"), file("$root/mode"))
6666
FileUtils.copyDirectory(file("theme"), file("$root/theme"))
67+
FileUtils.copyDirectory(file("tools"), file("$root/tools"))
6768

6869
Files.copy(file("$buildDir/libs/processing-android.jar").toPath(),
6970
file("$root/mode/AndroidMode.jar").toPath(), REPLACE_EXISTING);
@@ -80,8 +81,6 @@ task dist {
8081
file("$root/libraries/vr/examples"))
8182
FileUtils.copyDirectory(file("libraries/vr/gvrsdk"),
8283
file("$root/libraries/vr/gvrsdk"))
83-
FileUtils.copyDirectory(file("libraries/vr/lib"),
84-
file("$root/libraries/vr/lib"))
8584
FileUtils.copyDirectory(file("libraries/vr/library"),
8685
file("$root/libraries/vr/library"))
8786
FileUtils.copyDirectory(file("libraries/vr/src"),

build.xml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
<!-- path to the main processing repo -->
66
<property name="processing.dir" value="../processing" />
7+
8+
<!-- path to the android sdk -->
79
<property name="sdk.dir" value="/Users/andres/code/android/android-studio/sdk" />
810

911
<property name="core.jar.path" value="processing-core.zip" />
@@ -38,9 +40,7 @@
3840
${processing.dir}/java/mode/JavaMode.jar;
3941
${processing.dir}/java/mode/org.eclipse.core.runtime.jar;
4042
${processing.dir}/app/pde.jar;
41-
mode/gradle-tooling-api-4.0.jar;
42-
${sdk.dir}/tools/lib/repository-25.3.2.jar;
43-
${sdk.dir}/tools/lib/sdklib-25.3.2.jar"
43+
mode/gradle-tooling-api-4.0.jar"
4444
debug="on">
4545
<src path="src" />
4646
</javac>
@@ -65,6 +65,7 @@
6565
<include name="examples/**" />
6666
<include name="icons/**" />
6767
<include name="theme/**" />
68+
<include name="tools/**" />
6869
<include name="libraries/vr/library.properties" />
6970
<include name="libraries/vr/examples/**" />
7071
<include name="libraries/vr/gvrsdk/**" />
@@ -85,13 +86,14 @@
8586

8687
<target name="subprojects-clean">
8788
<subant buildpath="core" target="clean"/>
88-
<subant buildpath="libraries/vr" target="clean"/>
89+
<subant buildpath="tools/SDKUpdater" target="clean"/>
90+
<subant buildpath="libraries/vr" target="clean"/>
8991
</target>
9092

9193
<target name="subprojects-build">
9294
<subant buildpath="core" target="build"/>
93-
<subant buildpath="libraries/vr" target="build"/>
95+
<subant buildpath="tools/SDKUpdater" target="build"/>
96+
<subant buildpath="libraries/vr" target="build"/>
9497
</target>
95-
9698

9799
</project>

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
include 'core', 'libraries:vr'
1+
include 'core', 'tools:SDKUpdater', 'libraries:vr'

src/processing/mode/android/AndroidEditor.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -390,10 +390,12 @@ public void actionPerformed(ActionEvent e) {
390390
*/
391391

392392

393-
AndroidSDK sdk = androidMode.getSDK();
394-
if (sdk != null) {
395-
new SDKUpdater(sdk.getSdkFolder());
396-
}
393+
// AndroidSDK sdk = androidMode.getSDK();
394+
// if (sdk != null) {
395+
// new SDKUpdater(sdk.getSdkFolder());
396+
// }
397+
398+
397399
}
398400
});
399401
menu.add(item);

tools/SDKUpdater/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
bin
2+
build
3+
.classpath
4+
.project
5+
tool/SDKUpdater.jar

tools/SDKUpdater/build.gradle

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
buildscript {
2+
repositories {
3+
jcenter()
4+
}
5+
dependencies {
6+
classpath group: 'commons-io', name: 'commons-io', version: '2.5'
7+
classpath group: 'org.zeroturnaround', name: 'zt-zip', version: '1.9'
8+
}
9+
}
10+
11+
dependencies {
12+
compile group: 'org.processing', name: 'pde', version: '3.3.4'
13+
compile name: "sdklib-25.3.2"
14+
compile name: "repository-25.3.2"
15+
}
16+
17+
sourceSets {
18+
main {
19+
java {
20+
srcDirs = ['src/']
21+
}
22+
resources {
23+
srcDirs = ['src/']
24+
}
25+
}
26+
}
27+
28+
jar {
29+
manifest {
30+
attributes(
31+
"Manifest-Version": "1.0",
32+
"Gradle-Version": "$gradle.gradleVersion"
33+
)
34+
}
35+
}
36+
37+
clean.doFirst {
38+
delete "tool/SDKUpdater.jar"
39+
}
40+
41+
import groovy.util.AntBuilder
42+
import java.nio.file.Files
43+
import static java.nio.file.StandardCopyOption.*;
44+
45+
task dist {
46+
doLast {
47+
// copy jar file to tool folder
48+
File toolJar = file("tool/SDKUpdater.jar");
49+
//create intermediate folder if they don't exist
50+
toolJar.mkdirs();
51+
Files.copy(file("$buildDir/libs/SDKUpdater.jar").toPath(),
52+
toolJar.toPath(), REPLACE_EXISTING);
53+
}
54+
}
55+
56+
dist.dependsOn build

tools/SDKUpdater/build.xml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0"?>
2+
<project name="SDK Updater Tool" default="build">
3+
4+
<!-- path to the main processing repo -->
5+
<property name="processing.dir" value="../../../processing" />
6+
7+
<!-- path to the android sdk -->
8+
<property name="sdk.dir" value="/Users/andres/code/android/android-studio/sdk" />
9+
10+
<target name="clean" description="Clean the build directories">
11+
<delete dir="bin" />
12+
<delete file="tool/SDKUpdater.jar" />
13+
</target>
14+
15+
<target name="compile" description="Compile sources">
16+
<mkdir dir="bin" />
17+
<javac target="1.8"
18+
source="1.8"
19+
srcdir="src"
20+
destdir="bin"
21+
encoding="UTF-8"
22+
includeAntRuntime="false"
23+
classpath="${processing.dir}/app/bin;
24+
${sdk.dir}/tools/lib/sdklib-25.3.2.jar;
25+
${sdk.dir}/tools/lib/repository-25.3.2.jar"
26+
nowarn="true"
27+
compiler="org.eclipse.jdt.core.JDTCompilerAdapter">
28+
<compilerclasspath path="${processing.dir}/java/mode/org.eclipse.jdt.core.jar;
29+
${processing.dir}/java/mode/jdtCompilerAdapter.jar" />
30+
</javac>
31+
</target>
32+
33+
<target name="build" depends="compile" description="Build SDK Updater Tool">
34+
<mkdir dir="tool" />
35+
<jar basedir="bin" destfile="tool/SDKUpdater.jar" />
36+
</target>
37+
</project>

src/processing/mode/android/SDKUpdater.java renamed to tools/SDKUpdater/src/processing/mode/android/tools/SDKUpdater.java

Lines changed: 41 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2020
*/
2121

22-
package processing.mode.android;
22+
package processing.mode.android.tools;
2323

2424
import com.android.repository.api.*;
2525
import com.android.repository.impl.meta.RepositoryPackages;
@@ -31,6 +31,10 @@
3131
import com.android.sdklib.repository.legacy.LegacyDownloader;
3232
import com.android.sdklib.tool.SdkManagerCli;
3333

34+
import processing.app.Base;
35+
import processing.app.Preferences;
36+
import processing.app.tools.Tool;
37+
3438
import javax.swing.*;
3539
import javax.swing.border.EmptyBorder;
3640
import javax.swing.table.DefaultTableModel;
@@ -52,7 +56,7 @@
5256
import java.util.concurrent.ExecutionException;
5357

5458
@SuppressWarnings("serial")
55-
public class SDKUpdater extends JFrame implements PropertyChangeListener {
59+
public class SDKUpdater extends JFrame implements PropertyChangeListener, Tool {
5660
final static private int DEF_NUM_ROWS = 10;
5761
final static private int DEF_COL_WIDTH = 200;
5862
private final Vector<String> columns = new Vector<>(Arrays.asList(
@@ -77,6 +81,7 @@ public class SDKUpdater extends JFrame implements PropertyChangeListener {
7781

7882
public ClassLoader loader;
7983

84+
/*
8085
public SDKUpdater(File path) {
8186
super("SDK Updater");
8287
@@ -103,53 +108,34 @@ public SDKUpdater(File path) {
103108
queryTask.execute();
104109
createLayout();
105110
}
106-
107-
/*
108-
public SDKUpdater(Editor editor, AndroidMode androidMode, ClassLoader loader) {
109-
super("SDK Updater");
110-
111-
this.loader = loader;
112-
113-
androidMode.checkSDK(editor);
114-
try {
115-
sdk = AndroidSDK.load();
116-
if (sdk == null) {
117-
sdk = AndroidSDK.locate(editor, androidMode);
118-
}
119-
} catch (IOException e) {
120-
e.printStackTrace();
121-
} catch (AndroidSDK.CancelException e) {
122-
e.printStackTrace();
123-
} catch (AndroidSDK.BadSDKException e) {
124-
e.printStackTrace();
125-
}
126-
127-
if (sdk == null) return;
111+
*/
128112

129-
// queryTask = new QueryTask();
130-
// queryTask.addPropertyChangeListener(this);
131-
// queryTask.execute();
132-
// createLayout();
113+
114+
@Override
115+
public void init(Base base) {
116+
// TODO Auto-generated method stub
117+
String path = Preferences.get("android.sdk.path");
118+
sdkFolder = new File(path);
133119

134120

135-
System.out.println("Android mode CLASS loader " + SDKUpdater.class.getClassLoader());
136-
System.out.println("Android mode class loader " + loader);
121+
queryTask = new QueryTask();
122+
queryTask.addPropertyChangeListener(this);
123+
queryTask.execute();
124+
createLayout(base.getActiveEditor() == null);
137125

138-
Object progress;
139-
Class<?> clazz;
140-
Constructor con;
141-
try {
142-
clazz = loader.loadClass("com.android.repository.api.ConsoleProgressIndicator");
143-
con = clazz.getConstructor();
144-
progress = con.newInstance();
145-
System.out.println("Success creating progress instance " + progress);
146-
} catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
147-
// TODO Auto-generated catch block
148-
e.printStackTrace();
149-
}
150126
}
151-
*/
152127

128+
@Override
129+
public void run() {
130+
setVisible(true);
131+
}
132+
133+
@Override
134+
public String getMenuTitle() {
135+
return "SDK Updater";
136+
}
137+
138+
153139
@Override
154140
public void propertyChange(PropertyChangeEvent evt) {
155141
switch (evt.getPropertyName()) {
@@ -388,7 +374,7 @@ public java.util.List<String> getPaths(RepoManager mgr) {
388374
}
389375
}
390376

391-
private void createLayout() {
377+
private void createLayout(final boolean standalone) {
392378
Container outer = getContentPane();
393379
outer.removeAll();
394380

@@ -522,6 +508,17 @@ public void windowClosing(WindowEvent e) {
522508
}
523509
});
524510

511+
512+
// registerWindowCloseKeys(getRootPane(), new ActionListener() {
513+
// public void actionPerformed(ActionEvent actionEvent) {
514+
// if (standalone) {
515+
// System.exit(0);
516+
// } else {
517+
// setVisible(false);
518+
// }
519+
// }
520+
// });
521+
525522
setLocationRelativeTo(null);
526523
setResizable(false);
527524
setVisible(true);

0 commit comments

Comments
 (0)