From 99c2493e373b62ff101f61453e6a12f8941ff490 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Wed, 18 Apr 2018 11:15:56 -0500 Subject: [PATCH] Revert "Build WALA using Gradle instead of Maven" (#298) --- .dir-locals.el | 6 - .gitignore | 19 +- .travis.yml | 38 +-- After Importing WALA Into Eclipse.launch | 19 -- README-Gradle.md | 283 ------------------ README.md | 5 - build.gradle | 161 ---------- buildSrc/.gitignore | 1 - buildSrc/build.gradle | 7 - buildSrc/src/main/groovy/package-list.groovy | 31 -- .../src/main/groovy/verified-download.groovy | 47 --- com.ibm.wala-repository/pom.xml | 2 +- com.ibm.wala.cast.java.ecj/.classpath | 7 + com.ibm.wala.cast.java.ecj/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.java.ecj/build.gradle | 15 - com.ibm.wala.cast.java.ecj/mvncentral.xml | 12 +- com.ibm.wala.cast.java.ecj/pom.xml | 2 +- com.ibm.wala.cast.java.test.data/.classpath | 7 + com.ibm.wala.cast.java.test.data/.project | 38 +++ .../.settings/org.eclipse.jdt.core.prefs | 4 +- .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.java.test.data/build.gradle | 33 -- com.ibm.wala.cast.java.test.data/pom.xml | 2 +- .../foo/bar/hello/world/ArraysAndSuch.java | 1 + com.ibm.wala.cast.java.test/.classpath | 7 + com.ibm.wala.cast.java.test/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.java.test/build.gradle | 23 -- com.ibm.wala.cast.java.test/build.properties | 3 +- com.ibm.wala.cast.java.test/pom.xml | 2 +- com.ibm.wala.cast.java/.classpath | 7 + com.ibm.wala.cast.java/.project | 28 ++ com.ibm.wala.cast.java/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.java/build.gradle | 14 - com.ibm.wala.cast.java/build.properties | 2 +- com.ibm.wala.cast.java/mvncentral.xml | 10 +- com.ibm.wala.cast.java/pom.xml | 2 +- .../.classpath | 9 + .../.gitignore | 1 - .../.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- .../build.gradle | 26 -- .../pom.xml | 2 +- com.ibm.wala.cast.js.nodejs.test/.classpath | 8 + com.ibm.wala.cast.js.nodejs.test/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.js.nodejs.test/build.gradle | 19 -- com.ibm.wala.cast.js.nodejs.test/pom.xml | 2 +- com.ibm.wala.cast.js.nodejs/.classpath | 28 ++ com.ibm.wala.cast.js.nodejs/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.js.nodejs/build.gradle | 41 --- com.ibm.wala.cast.js.nodejs/pom.xml | 2 +- .../nodejs/NodejsRequireTargetSelector.java | 2 + .../js/nodejs/NodejsRequiredCoreModule.java | 15 +- com.ibm.wala.cast.js.rhino.test/.classpath | 8 + com.ibm.wala.cast.js.rhino.test/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.js.rhino.test/build.gradle | 33 -- .../build.properties | 3 +- .../launchers/JsViewerDriver.launch | 27 +- .../launchers/TestForInLoopHackRhino.launch | 1 - .../launchers/TestMozillaBugPagesRhino.launch | 1 - ...m.ibm.wala.cast.js.rhino.test-JUnit.launch | 1 - com.ibm.wala.cast.js.rhino.test/pom.xml | 2 +- com.ibm.wala.cast.js.rhino/.classpath | 8 + com.ibm.wala.cast.js.rhino/.project | 28 ++ .../META-INF/MANIFEST.MF | 10 +- com.ibm.wala.cast.js.rhino/build.gradle | 11 - com.ibm.wala.cast.js.rhino/mvncentral.xml | 10 +- com.ibm.wala.cast.js.rhino/pom.xml | 2 +- com.ibm.wala.cast.js.test.data/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.js.test.data/build.gradle | 21 -- com.ibm.wala.cast.js.test.data/pom.xml | 2 +- com.ibm.wala.cast.js.test/.classpath | 7 + .../com.ibm.wala.cast.js.test-JUnit.launch | 3 +- com.ibm.wala.cast.js.test/.project | 28 ++ .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.js.test/build.gradle | 26 -- com.ibm.wala.cast.js.test/pom.xml | 2 +- com.ibm.wala.cast.js/.classpath | 9 + com.ibm.wala.cast.js/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 2 +- com.ibm.wala.cast.js/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.js/build.gradle | 27 -- com.ibm.wala.cast.js/mvncentral.xml | 10 +- com.ibm.wala.cast.js/pom.xml | 2 +- .../JSSSAPropagationCallGraphBuilder.java | 2 +- com.ibm.wala.cast.test/.classpath | 7 + .../com.ibm.wala.cast.test-JUnit.launch | 1 - com.ibm.wala.cast.test/.project | 28 ++ com.ibm.wala.cast.test/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast.test/build.gradle | 106 ------- com.ibm.wala.cast.test/build.properties | 3 +- com.ibm.wala.cast.test/pom.xml | 2 +- com.ibm.wala.cast/.classpath | 8 + .../make WALA.CAst.launch | 11 + com.ibm.wala.cast/.project | 38 +++ .../.settings/org.eclipse.pde.prefs | 10 +- com.ibm.wala.cast/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.cast/build.gradle | 107 ------- com.ibm.wala.cast/build.properties | 3 +- com.ibm.wala.cast/mvncentral.xml | 8 +- com.ibm.wala.cast/pom.xml | 2 +- .../source/c/jni/CAstWrapper.cpp | 56 ++-- com.ibm.wala.cast/source/c/jni/Exceptions.cpp | 32 +- com.ibm.wala.cast/source/c/jni/launch.cpp | 26 +- com.ibm.wala.core.testdata/.classpath | 7 + com.ibm.wala.core.testdata/.project | 28 ++ .../.settings/org.eclipse.pde.prefs | 2 +- .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.core.testdata/build.gradle | 185 ------------ com.ibm.wala.core.testdata/build.properties | 3 +- com.ibm.wala.core.testdata/pom.xml | 2 +- com.ibm.wala.core.tests/.classpath | 8 + com.ibm.wala.core.tests/.project | 28 ++ com.ibm.wala.core.tests/META-INF/MANIFEST.MF | 4 +- com.ibm.wala.core.tests/build.gradle | 47 --- com.ibm.wala.core.tests/build.properties | 2 +- .../launchers/ConstructAllIRs.launch | 3 +- .../launchers/CountParameters.launch | 28 +- .../launchers/ExportTypeHierarchyToXML.launch | 14 + .../launchers/GetEnv.launch | 12 + .../launchers/GetLoadedFields.launch | 28 +- .../launchers/JavaViewerDriver.launch | 27 +- .../launchers/PDFCallGraph.launch | 5 +- .../PDFControlDependenceGraph.launch | 5 +- .../launchers/PDFSDG.launch | 5 +- .../launchers/PDFSlice.launch | 5 +- .../launchers/PDFTypeHierarchy.launch | 5 +- .../launchers/PDFWalaIR.launch | 3 +- ...la.core short profile (non-windows).launch | 1 - .../launchers/wala.core short profile.launch | 53 ++-- .../launchers/wala.core.launch | 1 - com.ibm.wala.core.tests/pom.xml | 2 +- .../shrike/DynamicCallGraphTestBase.java | 37 +-- com.ibm.wala.core/.classpath | 9 + com.ibm.wala.core/.project | 28 ++ com.ibm.wala.core/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.core/build.gradle | 27 -- com.ibm.wala.core/build.properties | 2 +- com.ibm.wala.core/mvncentral.xml | 6 +- com.ibm.wala.core/pom.xml | 2 +- .../util/ssa/TypeSafeInstructionFactory.java | 5 +- com.ibm.wala.dalvik.test/.classpath | 9 + com.ibm.wala.dalvik.test/.gitignore | 1 - com.ibm.wala.dalvik.test/.project | 28 ++ com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.dalvik.test/build.gradle | 160 ---------- com.ibm.wala.dalvik.test/pom.xml | 2 +- com.ibm.wala.dalvik/.classpath | 15 + com.ibm.wala.dalvik/.project | 28 ++ com.ibm.wala.dalvik/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.dalvik/build.gradle | 21 -- com.ibm.wala.dalvik/mvncentral.xml | 12 +- com.ibm.wala.dalvik/pom.xml | 2 +- .../dalvik/classLoader/DexFileModule.java | 5 +- .../structure/AbstractAndroidModel.java | 2 +- .../ipa/callgraph/impl/AndroidEntryPoint.java | 8 +- com.ibm.wala.ide.jdt.test/.classpath | 8 + com.ibm.wala.ide.jdt.test/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 60 ++-- .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.ide.jdt.test/build.gradle | 39 --- com.ibm.wala.ide.jdt.test/build.properties | 2 +- .../launchers/ECJJavaIRTest.launch | 1 - com.ibm.wala.ide.jdt.test/pom.xml | 2 +- .../demandpa/driver/DemandCastChecker.java | 3 +- com.ibm.wala.ide.jdt/.classpath | 7 + com.ibm.wala.ide.jdt/.project | 28 ++ com.ibm.wala.ide.jdt/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.ide.jdt/build.gradle | 22 -- com.ibm.wala.ide.jdt/pom.xml | 2 +- com.ibm.wala.ide.jsdt.tests/.classpath | 7 + com.ibm.wala.ide.jsdt.tests/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 4 +- .../META-INF/MANIFEST.MF | 2 +- com.ibm.wala.ide.jsdt.tests/build.gradle | 27 -- .../launchers/JSProjectScopeTest.launch | 8 +- .../com.ibm.wala.ide.jsdt.tests.launch | 12 +- com.ibm.wala.ide.jsdt.tests/pom.xml | 2 +- com.ibm.wala.ide.jsdt/.classpath | 7 + com.ibm.wala.ide.jsdt/.project | 28 ++ com.ibm.wala.ide.jsdt/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.ide.jsdt/build.gradle | 19 -- com.ibm.wala.ide.jsdt/pom.xml | 2 +- .../com/ibm/wala/ide/util/JsdtUtil.java | 1 + com.ibm.wala.ide.tests/.classpath | 7 + com.ibm.wala.ide.tests/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 4 +- com.ibm.wala.ide.tests/META-INF/MANIFEST.MF | 4 +- com.ibm.wala.ide.tests/build.gradle | 24 -- com.ibm.wala.ide.tests/build.properties | 2 +- .../launchers/IFDSExplorerExample.launch | 1 - .../SWTCallGraph - OCaml - ipascal.launch | 1 - .../launchers/SWTCallGraph.launch | 3 +- .../launchers/SWTPointsTo.launch | 3 +- .../launchers/SWTTypeHierarchy.launch | 3 +- com.ibm.wala.ide.tests/pom.xml | 2 +- com.ibm.wala.ide/.classpath | 7 + com.ibm.wala.ide/.project | 28 ++ com.ibm.wala.ide/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.ide/build.gradle | 23 -- com.ibm.wala.ide/build.properties | 2 +- com.ibm.wala.ide/pom.xml | 2 +- .../ibm/wala/ide/util/EclipseProjectPath.java | 1 + com.ibm.wala.ide_feature/.project | 17 ++ com.ibm.wala.ide_feature/feature.xml | 2 +- com.ibm.wala.ide_feature/pom.xml | 2 +- com.ibm.wala.scandroid/.classpath | 7 + com.ibm.wala.scandroid/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 4 +- com.ibm.wala.scandroid/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.scandroid/build.gradle | 12 - com.ibm.wala.scandroid/mvncentral.xml | 10 +- com.ibm.wala.scandroid/pom.xml | 2 +- com.ibm.wala.shrike/.classpath | 7 + com.ibm.wala.shrike/.project | 28 ++ com.ibm.wala.shrike/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.shrike/build.gradle | 9 - com.ibm.wala.shrike/build.properties | 2 +- com.ibm.wala.shrike/mvncentral.xml | 4 +- com.ibm.wala.shrike/pom.xml | 2 +- .../shrike/instrumentation/CodeScraper.java | 19 +- com.ibm.wala.tests.ide_feature/.project | 17 ++ com.ibm.wala.tests.ide_feature/feature.xml | 2 +- com.ibm.wala.tests_feature/.project | 17 ++ com.ibm.wala.tests_feature/feature.xml | 2 +- com.ibm.wala.tests_feature/pom.xml | 2 +- com.ibm.wala.util/.classpath | 7 + com.ibm.wala.util/.project | 28 ++ com.ibm.wala.util/META-INF/MANIFEST.MF | 2 +- com.ibm.wala.util/build.gradle | 14 - com.ibm.wala.util/build.properties | 3 +- com.ibm.wala.util/mvncentral.xml | 2 +- com.ibm.wala.util/pom.xml | 2 +- com.ibm.wala_feature/.project | 17 ++ com.ibm.wala_feature/feature.xml | 2 +- com.ibm.wala_feature/pom.xml | 2 +- gradle.properties | 2 - gradle/wrapper/gradle-wrapper.jar | Bin 54329 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 5 - gradlew | 172 ----------- gradlew.bat | 84 ------ pom.xml | 4 +- revert-launchers.sh | 19 -- settings.gradle | 37 --- targets/e42/pom.xml | 2 +- targets/e44/pom.xml | 2 +- targets/e46/pom.xml | 2 +- targets/e47/pom.xml | 2 +- targets/pom.xml | 2 +- travis/before-cache-gradle | 7 - travis/before-cache-maven | 0 travis/before-install-gradle | 0 travis/before-install-maven | 11 - travis/install-gradle | 6 - travis/install-maven | 4 - travis/script-gradle | 8 - travis/script-maven | 7 - 262 files changed, 1549 insertions(+), 2514 deletions(-) delete mode 100644 .dir-locals.el delete mode 100644 After Importing WALA Into Eclipse.launch delete mode 100644 README-Gradle.md delete mode 100644 build.gradle delete mode 100644 buildSrc/.gitignore delete mode 100644 buildSrc/build.gradle delete mode 100644 buildSrc/src/main/groovy/package-list.groovy delete mode 100644 buildSrc/src/main/groovy/verified-download.groovy create mode 100644 com.ibm.wala.cast.java.ecj/.classpath create mode 100644 com.ibm.wala.cast.java.ecj/.project delete mode 100644 com.ibm.wala.cast.java.ecj/build.gradle create mode 100644 com.ibm.wala.cast.java.test.data/.classpath create mode 100644 com.ibm.wala.cast.java.test.data/.project delete mode 100644 com.ibm.wala.cast.java.test.data/build.gradle create mode 100644 com.ibm.wala.cast.java.test/.classpath create mode 100644 com.ibm.wala.cast.java.test/.project delete mode 100644 com.ibm.wala.cast.java.test/build.gradle create mode 100644 com.ibm.wala.cast.java/.classpath create mode 100644 com.ibm.wala.cast.java/.project delete mode 100644 com.ibm.wala.cast.java/build.gradle create mode 100644 com.ibm.wala.cast.js.html.nu_validator/.classpath delete mode 100644 com.ibm.wala.cast.js.html.nu_validator/.gitignore create mode 100644 com.ibm.wala.cast.js.html.nu_validator/.project delete mode 100644 com.ibm.wala.cast.js.html.nu_validator/build.gradle create mode 100644 com.ibm.wala.cast.js.nodejs.test/.classpath create mode 100644 com.ibm.wala.cast.js.nodejs.test/.project delete mode 100644 com.ibm.wala.cast.js.nodejs.test/build.gradle create mode 100644 com.ibm.wala.cast.js.nodejs/.classpath create mode 100644 com.ibm.wala.cast.js.nodejs/.project delete mode 100644 com.ibm.wala.cast.js.nodejs/build.gradle create mode 100644 com.ibm.wala.cast.js.rhino.test/.classpath create mode 100644 com.ibm.wala.cast.js.rhino.test/.project delete mode 100644 com.ibm.wala.cast.js.rhino.test/build.gradle create mode 100644 com.ibm.wala.cast.js.rhino/.classpath create mode 100644 com.ibm.wala.cast.js.rhino/.project delete mode 100644 com.ibm.wala.cast.js.rhino/build.gradle create mode 100644 com.ibm.wala.cast.js.test.data/.project delete mode 100644 com.ibm.wala.cast.js.test.data/build.gradle create mode 100755 com.ibm.wala.cast.js.test/.classpath create mode 100644 com.ibm.wala.cast.js.test/.project delete mode 100644 com.ibm.wala.cast.js.test/build.gradle create mode 100644 com.ibm.wala.cast.js/.classpath create mode 100644 com.ibm.wala.cast.js/.project delete mode 100644 com.ibm.wala.cast.js/build.gradle create mode 100644 com.ibm.wala.cast.test/.classpath create mode 100644 com.ibm.wala.cast.test/.project delete mode 100644 com.ibm.wala.cast.test/build.gradle create mode 100644 com.ibm.wala.cast/.classpath create mode 100644 com.ibm.wala.cast/.externalToolBuilders/make WALA.CAst.launch create mode 100644 com.ibm.wala.cast/.project delete mode 100644 com.ibm.wala.cast/build.gradle create mode 100644 com.ibm.wala.core.testdata/.classpath create mode 100644 com.ibm.wala.core.testdata/.project delete mode 100644 com.ibm.wala.core.testdata/build.gradle create mode 100644 com.ibm.wala.core.tests/.classpath create mode 100644 com.ibm.wala.core.tests/.project delete mode 100644 com.ibm.wala.core.tests/build.gradle create mode 100644 com.ibm.wala.core.tests/launchers/ExportTypeHierarchyToXML.launch create mode 100644 com.ibm.wala.core.tests/launchers/GetEnv.launch create mode 100644 com.ibm.wala.core/.classpath create mode 100644 com.ibm.wala.core/.project delete mode 100644 com.ibm.wala.core/build.gradle create mode 100644 com.ibm.wala.dalvik.test/.classpath create mode 100644 com.ibm.wala.dalvik.test/.project delete mode 100644 com.ibm.wala.dalvik.test/build.gradle create mode 100644 com.ibm.wala.dalvik/.classpath create mode 100644 com.ibm.wala.dalvik/.project delete mode 100644 com.ibm.wala.dalvik/build.gradle create mode 100644 com.ibm.wala.ide.jdt.test/.classpath create mode 100644 com.ibm.wala.ide.jdt.test/.project delete mode 100644 com.ibm.wala.ide.jdt.test/build.gradle create mode 100644 com.ibm.wala.ide.jdt/.classpath create mode 100644 com.ibm.wala.ide.jdt/.project delete mode 100644 com.ibm.wala.ide.jdt/build.gradle create mode 100644 com.ibm.wala.ide.jsdt.tests/.classpath create mode 100644 com.ibm.wala.ide.jsdt.tests/.project delete mode 100644 com.ibm.wala.ide.jsdt.tests/build.gradle create mode 100644 com.ibm.wala.ide.jsdt/.classpath create mode 100644 com.ibm.wala.ide.jsdt/.project delete mode 100644 com.ibm.wala.ide.jsdt/build.gradle create mode 100644 com.ibm.wala.ide.tests/.classpath create mode 100644 com.ibm.wala.ide.tests/.project delete mode 100644 com.ibm.wala.ide.tests/build.gradle create mode 100644 com.ibm.wala.ide/.classpath create mode 100644 com.ibm.wala.ide/.project delete mode 100644 com.ibm.wala.ide/build.gradle create mode 100644 com.ibm.wala.ide_feature/.project create mode 100644 com.ibm.wala.scandroid/.classpath create mode 100644 com.ibm.wala.scandroid/.project delete mode 100644 com.ibm.wala.scandroid/build.gradle create mode 100644 com.ibm.wala.shrike/.classpath create mode 100644 com.ibm.wala.shrike/.project delete mode 100644 com.ibm.wala.shrike/build.gradle create mode 100644 com.ibm.wala.tests.ide_feature/.project create mode 100644 com.ibm.wala.tests_feature/.project create mode 100644 com.ibm.wala.util/.classpath create mode 100644 com.ibm.wala.util/.project delete mode 100644 com.ibm.wala.util/build.gradle create mode 100644 com.ibm.wala_feature/.project delete mode 100644 gradle.properties delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100755 gradlew delete mode 100644 gradlew.bat delete mode 100755 revert-launchers.sh delete mode 100644 settings.gradle delete mode 100644 travis/before-cache-gradle delete mode 100644 travis/before-cache-maven delete mode 100644 travis/before-install-gradle delete mode 100644 travis/before-install-maven delete mode 100644 travis/install-gradle delete mode 100644 travis/install-maven delete mode 100644 travis/script-gradle delete mode 100644 travis/script-maven diff --git a/.dir-locals.el b/.dir-locals.el deleted file mode 100644 index e45dc3fe0..000000000 --- a/.dir-locals.el +++ /dev/null @@ -1,6 +0,0 @@ -((groovy-mode - (c-file-style . "bsd"))) - -;; Local variables: -;; flycheck-disabled-checkers: (emacs-lisp emacs-lisp-checkdoc) -;; End: diff --git a/.gitignore b/.gitignore index d7b017bc8..22b0d3901 100644 --- a/.gitignore +++ b/.gitignore @@ -4,15 +4,9 @@ *.swp */bin/ */bin/* -*/build/ *~ -.classpath .metadata/ -.project -/*/.settings/org.eclipse.buildship.core.prefs -/.gradle/ -/.settings/org.eclipse.buildship.core.prefs -/build/ +com.ibm.wala.cast/lib/ com.ibm.wala.cast.java.jdt.test/ com.ibm.wala.cast.java.polyglot/lib/ com.ibm.wala.cast.java.test.data/src/JLex/ @@ -31,7 +25,6 @@ com.ibm.wala.cast.js.rhino/lib/ com.ibm.wala.cast.js.test.data/examples-src/ajaxslt/ com.ibm.wala.cast.js.test/examples-src/ajaxslt/ com.ibm.wala.cast.js/lib/ -com.ibm.wala.cast/lib/ com.ibm.wala.core.testdata/*.jar com.ibm.wala.core.testdata/@dot/ com.ibm.wala.core.testdata/lib/ @@ -41,12 +34,12 @@ com.ibm.wala.core.tests/report com.ibm.wala.core/@dot com.ibm.wala.core/com.ibm.wala.core*.jar com.ibm.wala.core/dat/wala.properties +com.ibm.wala.dalvik/src/logback.xml +com.ibm.wala.ide.jdt.test/testdata/ +edu.kit.wala.smali.test/out/ +target/ com.ibm.wala.dalvik.test/data/sample.cup com.ibm.wala.dalvik.test/parser.java com.ibm.wala.dalvik.test/report com.ibm.wala.dalvik.test/sym.java -com.ibm.wala.dalvik/src/logback.xml -com.ibm.wala.ide.jdt.test/testdata/ -edu.kit.wala.smali.test/out/ -results -target/ +results \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 4a3fa5173..bb2df4e32 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,23 +1,30 @@ -sudo: false +language: android android: components: - build-tools-26.0.2 +jdk: oraclejdk8 addons: apt: packages: - realpath - xvfb before_install: - - set -e - - source "travis/before-install-$BUILD_SYSTEM" -install: source "travis/install-$BUILD_SYSTEM" -script: source "travis/script-$BUILD_SYSTEM" -before_cache: source "travis/before-cache-$BUILD_SYSTEM" +- echo $ANDROID_HOME +- git clone --depth=1 https://github.com/secure-software-engineering/DroidBench.git /tmp/DroidBench +- export M2_HOME=$HOME/apache-maven-3.5.0 +- if [ ! -d $M2_HOME/bin ]; then curl https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz | tar zxf - -C $HOME; fi +- export PATH=$M2_HOME/bin:$PATH +install: +- mvn clean verify -DskipTests=true -B -q +script: +- xvfb-run mvn clean install -B -q +- bash ./dependent-projects-trigger.sh $AUTH_TOKEN +- mvn javadoc:aggregate -B -q +- bash ./upload-javascript.sh $GH_TOKEN +- ./build-maven-jars.py "install -Dgpg.skip" +sudo: false cache: directories: - - "$HOME/.goomph" - - "$HOME/.gradle/caches" - - "$HOME/.gradle/wrapper" - "$HOME/.m2" - "$HOME/apache-maven-3.5.0" - "$TRAVIS_BUILD_DIR/com.ibm.wala.core.testdata/ocaml/ocamljava-2.0-alpha1/lib" @@ -25,16 +32,3 @@ env: global: - secure: KcugjQYnBqeZ7XenZD5QY7jhekVPO0QpQyjDUteLytaokhyRK2g6eNvr/pPerN2uWUvsPwO18P9F+oOupge1cpPZf4cEY8RzLIromyUoRWd6JA0SKciUYdN2kSqnC4uZSJGXeGLoroyEEL4Q2sqimpkbIGxgxYtVniWgJULOyR4= - secure: jacvGPYX4ugG/HgwJEEpWnllWsS/ipX+qRJ7qM5mbDYryeqsz0eiaxBxQ6IpDyj0v6O4DUi74lSQs/UxCWcUxvOn/5AweCZfoF1U8vt1xivanR4MbC2kr6rJ6ohICuJ4PHDS4IffncgaP3Y8cfExHq6+d0tbibYkjRIiMUGpSik= -matrix: - include: - - os: linux - env: BUILD_SYSTEM=gradle - language: java - jdk: oraclejdk8 - - os: linux - env: BUILD_SYSTEM=maven - language: android - jdk: oraclejdk8 - - os: osx - env: BUILD_SYSTEM=gradle - language: java diff --git a/After Importing WALA Into Eclipse.launch b/After Importing WALA Into Eclipse.launch deleted file mode 100644 index 8db91ffe4..000000000 --- a/After Importing WALA Into Eclipse.launch +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/README-Gradle.md b/README-Gradle.md deleted file mode 100644 index ab712a9eb..000000000 --- a/README-Gradle.md +++ /dev/null @@ -1,283 +0,0 @@ -This document describes some WALA-specific aspects of our new Gradle -build system, plus a few general Gradle features that may be of -particular interest to WALA developers. However, it is not a Gradle -tutorial. - -# Pros and Cons of Switching to Gradle - -## Selected Gradle Advantages in Brief - -- [more comprehensive management of external - dependencies](#comprehensive-external-dependencies) -- faster builds using [parallel task - execution](https://docs.gradle.org/current/userguide/multi_project_builds.html#sec:parallel_execution) - and [user-scoped - caching](https://docs.gradle.org/current/userguide/build_cache.html) - (both enabled by default) -- [trustworthy dependencies for incremental - builds](#trustworthy-dependencies-for-incremental-builds) -- [composite builds](#composite-builds) for easier integration of WALA - into larger projects -- [automated Travis CI testing on macOS](#travis-ci-macos) - -## Known Shortcomings - -The Gradle build system is not yet ready to replace Maven, due to a -few [known shortcomings](https://github.com/liblit/WALA/milestone/1). -Paramount among these is that [Gradle WALA builds do not yet package -up Eclipse plug-ins / features in the proper -manner](https://github.com/liblit/WALA/issues/6). I have [poked at -this a -bit](https://github.com/liblit/WALA/tree/gradle-artifact-publishing), -but I simply do not understand Eclipse and/or OSGi well enough to get -the job done. I welcome help from anyone with the right knowledge! - -Either Gradle or Maven can be used to build WALA from the command -line. However, it was not possible to extend this dual-build-system -support to Eclipse. Working with WALA in Eclipse *requires* [doing -things the Gradle way](#eclipse). Fortunately, this is rather -seamless; I see no reason why an Eclipse-using WALA developer should -need to avoid this switch. - -As noted [below](#classpath-and-project-as-generated-files), Eclipse -`.classpath` and `.project` files are now generated rather than being -repository-tracked source files. However, a few Maven-run tests -depend on having certain of these files present. One way to create -them is to [import WALA into -Eclipse](#importing-wala-projects-into-eclipse) before starting your -Maven tests. If you prefer a non-interactive approach, you can -instead run `./gradlew prepareMavenBuild` before starting your Maven -tests. - -# Getting Started - -## External Dependencies: Patience is a Virtue - -Gradle downloads many packages and supporting Java libraries as -needed. Your first Gradle build may take a long time. On a fast -workstation with a University-grade network and no local caches, my -initial run of `./gradlew assemble processTestResources` took five -minutes. On a decent laptop with residential DSL and no local caches, -the same initial build took twenty minutes. Fortunately, user- and -project-level Gradle caches will make incremental rebuilds much -faster. Rerunning `./gradlew assemble processTestResources` with a -warm cache in an already-built tree takes under three seconds. - -Maven is the same, really. You may already have most of what Maven -needs downloaded and cached locally, but your first Maven WALA build -was probably slow as well. Recent Travis CI runs have showed Gradle -and Maven builds completing in fifteen to twenty minutes, without -significant variation between the two build systems. - -The good news is that the -Gradle build knows about all of its external dependencies and will -download them as needed. This even includes some complex dependencies -that the Maven build does not automate. For example, the Gradle build -will automatically gather required Android SDK components: setting -`$ANDROID_HOME` is not needed. Gradle builds will also download -`/tmp/DroidBench` when needed to run tests; the Maven build system -required that each developer do this by hand. - -## Eclipse - -### One-Time Eclipse Configuration - -To work with WALA inside Eclipse, first **install Eclipse Buildship** -using either [the Eclipse -Marketplace](http://www.vogella.com/tutorials/EclipseGradle/article.html#installation-via-the-marketplace) -or [the Eclipse update -manager](http://www.vogella.com/tutorials/EclipseGradle/article.html#installation-via-the-eclipse-update-manager). -Buildship integrates Eclipse with Gradle, much like how M2Eclipse -integrates Eclipse with Maven. Restart Eclipse after installing this -feature. - -### Importing WALA Projects Into Eclipse - -Once you are running a Buildship-enabled Eclipse, **[use the “Existing -Gradle Project” import -wizard](http://www.vogella.com/tutorials/EclipseGradle/article.html#import-an-existing-gradle-project) -to import WALA into Eclipse.** Select and import the topmost level of -your WALA source tree. On the “Import Options” page of the import -wizard, leave all settings at their defaults: the “Override workspace -settings” option should be off, and the grayed-out “Gradle -distribution” choice should be set to “Gradle wrapper”. You do not -need to select each of WALA’s sub-projects; import only the top-level -WALA source tree, and the rest will follow. - -After the lengthy import process completes, **use “Run → After -Importing WALA Into Eclipse” to perform some post-import cleanup and -configuration.** Immediately after importing, you may see some errors -in the Eclipse “Problems” view. These should all go away after -running the “After Importing WALA Into Eclipse” step. - -Note: a pristine WALA source tree is *not* pre-configured as a group -of Eclipse projects. Using the standard Eclipse “Existing Projects -into Workspace” import wizard will not work correctly. You must [use -the “Existing Gradle Project” import -wizard](http://www.vogella.com/tutorials/EclipseGradle/article.html#import-an-existing-gradle-project) -instead. - -### `.classpath` and `.project` as Generated Files - -You will find no `.classpath` or `.project` files anywhere in [the -Gradle fork of WALA’s git repository](https://github.com/liblit/WALA). -Importing using the “Existing Gradle Project” wizard creates these -Eclipse project configuration files automatically based on the -underlying Gradle configuration. - -Therefore, when working with Eclipse + Gradle, you should **treat -`.classpath` and `.project` files as *generated* artifacts,** not as -files to edit directly or through the Eclipse project configuration -GUI. For example, avoid using the Java Build Path settings dialog to -make changes that are stored in a `.classpath` file: the modified -`.classpath` file is not git-tracked, so your changes will eventually -be lost or overwritten. - -The right way to change the contents of any of a `.classpath` or -`.project` file is to change the Gradle configuration such that the -generated `.classpath` and `.project` files will have the desired -contents, likely by using [Gradle’s `eclipse` -plugin](https://docs.gradle.org/current/userguide/eclipse_plugin.html). -A few WALA sub-projects already use this: look for `eclipse.project` -in `*/build.gradle` for examples. - -## Gradle Command Line - -You do not need to install Gradle separately. **WALA includes its own -copy of Gradle, available as the `gradlew` script in the top-level -WALA directory.** Use this script for all command-line Gradle actions. -For example, to compile all of WALA’s main (non-test) code and gather -it into jar archives, run `./gradlew assemble`. - -In general, most Gradle-generated artifacts will appear somewhere -under `*/build`. For example the jar archives created by the -`assemble` task can be found as `*/build/libs/*.jar`. Note, however, -that Eclipse-generated artifacts will still appear in the same places -as before, such as `*/bin` and `*/target`. - -### Trustworthy Dependencies For Incremental Builds - -Gradle has excellent understanding of task and file dependencies. You -can trust it to perform incremental rebuilds rather than always -rebuilding from scratch. If you are used to always running `mvn clean -compile` instead of `mvn compile`, or `mvn clean install` instead of -`mvn install`, I recommend that you drop `clean` as a reflexive extra -step and **trust Gradle to do incremental builds correctly.** - -### Favorite Build Tasks - -Some useful Gradle tasks include: - -- `assemble`: build WALA’s main (non-test) code - -- `build`: build all WALA code and run all automated tests - -- `javadoc`: build all Javadoc documentation - -- `publishToMavenLocal`: install WALA’s jar files under `~/.m2` - -- `clean`: remove all Gradle-generated artifacts - -### Tasks in Specific Sub-Projects - -When you run `./gradlew` in the top-level WALA directory, any tasks -you list will be built in all sub-projects. For example, `./gradlew -assemble` builds all non-test WALA jars in all sub-projects. If you -want to build tasks only in specific sub-projects, you have two options: - -1. Give the fully-qualified name of the sub-project task. For - example, to assemble only the Dalvik jar, you could run `./gradlew - :com.ibm.wala.dalvik:assemble`. - -1. Run Gradle from within some sub-project directory. For example, to - assemble only the Dalvik jar, you could `cd com.ibm.wala.dalvik` - and then run `../gradlew assemble`. Note the proper relative path - to the top-level Gradle script: `../gradle` instead of `./gradlew`. - -### Task Name Abbreviation - -[Any build task can be -abbreviated](https://docs.gradle.org/current/userguide/command_line_interface.html#_task_name_abbreviation) -by shortening each camel-case-delimited word in its name. For -example, the `processTestResources` task can probably be abbreviated -as `procTeRes` or even `pTR`. - -### Useful Command-Line Flags - -Among Gradle’s command-line flags, I have found the following -particularly useful: - -- [`--continue`](https://docs.gradle.org/current/userguide/command_line_interface.html#sec:continue_build_on_failure): - keep building non-dependent sub-tasks even after an initial failure. - Especially useful in conjunction with the `build` or `test` tasks to - see multiple test failures rather than giving up after the first - failure. - -- [`-t`, - `--continuous`](https://docs.gradle.org/current/userguide/command_line_interface.html#_continuous_build): - keep Gradle process running and re-execute the given tasks whenever - input files change. Similar to Eclipse’s behavior of updating the - build whenever you change and save a file. - -- [`--tests=...`](https://docs.gradle.org/current/userguide/java_plugin.html#test_filtering): - run only the selected tests. Use in conjunction with the `build` or - `test` tasks for faster turnaround if you are focusing on getting - just one or a few failing tests to pass. - -- [`--scan`](https://scans.gradle.com/): upload a detailed report of - the build process to a Gradle-hosted server for further exploration - and analysis. The only security here is the obscurity of the - generated URL for the build report. If you are not concerned about - potentially making your build details public, then `--scan` is a - good way to gain insights into why Gradle did what it did, and how - long each piece took. - -### Composite Builds - -Gradle’s [composite -builds](https://docs.gradle.org/current/userguide/composite_builds.html) -allow a Gradle-managed project to recursively include other -Gradle-managed projects, with Gradle managing the entire build process -in a coherent, integrated manner. Thus, if you use Gradle to build -your WALA-based project, you can easily have it use WALA from your -own, private WALA tree instead of from `~/.m2` or the public Maven -repository. - -This is especially useful if you frequently find yourself switching -between multiple different personal or experimental WALA builds. By -avoiding `~/.m2`, each WALA-based project can be its own composite -build, with its own WALA subtree, and no project interferes with any -other. - -# Travis CI - -I use a [Travis CI build -matrix](https://docs.travis-ci.com/user/customizing-the-build/#Build-Matrix) -to perform automated testing in three configurations: - -1. Gradle build on Ubuntu 14 (Trusty Tahr) -1. Maven build on Ubuntu 14 (Trusty Tahr) -1. Gradle build on macOS 10.12 (Sierra) - -Until we are ready to completely replace Maven with Gradle, it is -important that both keep working. Therefore, I use Travis CI to build -and test WALA on Ubuntu using both Gradle and Maven. Every new pull -request must be validated in both of these configurations before I -will accept it onto the `gradle-and-buildship` branch. - -The official WALA repository has no macOS CI -testing. However, [macOS is the main development platform for at -least one WALA -maintainer](https://github.com/liblit/WALA/issues/3#issuecomment-356823287), -so it is great to have Travis CI helping us keep that platform -working. I will not accept pull requests that introduce regressions -into Gradle macOS builds. However, I am not using Travis CI to test -Maven macOS builds. Initial attempts using [the official WALA master -sources](https://github.com/wala/WALA) failed. As it is my goal to -replace Maven entirely, investigating Maven+macOS failures further is -not a priority. - - diff --git a/README.md b/README.md index 137149c37..41a2a05d3 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,3 @@ WALA [![Build Status](https://travis-ci.org/wala/WALA.svg?branch=master)](https: This is the main source repository for WALA. For more details on WALA, see the WALA home page and WALA Javadoc. - -**Note:** historically, WALA has used Maven as its build system. -However, this WALA branch can also use Gradle as an alternative to -Maven. See [the Gradle-specific README](README-Gradle.md) for more -instructions and helpful tips. diff --git a/build.gradle b/build.gradle deleted file mode 100644 index aac831de1..000000000 --- a/build.gradle +++ /dev/null @@ -1,161 +0,0 @@ -//////////////////////////////////////////////////////////////////////// -// -// plugin configuration must precede everything else -// - -plugins { - id 'com.diffplug.gradle.p2.asmaven' version '3.10.0' - id 'com.github.hauner.jarTest' version '1.0.1' apply false - id 'de.undercouch.download' - id 'nebula.lint' version '8.3.1' - id "nebula.source-jar" version '7.0.1' apply false -} - - -//////////////////////////////////////////////////////////////////////// -// -// required Eclipse components -// - -p2AsMaven { - group 'eclipse-deps', { - repoEclipse '4.7.2' - slicingOption 'latestVersionOnly', 'true' - iu 'org.eclipse.core.commands' - iu 'org.eclipse.core.contenttype' - iu 'org.eclipse.core.jobs' - iu 'org.eclipse.core.resources' - iu 'org.eclipse.core.runtime' - iu 'org.eclipse.equinox.app' - iu 'org.eclipse.equinox.common' - iu 'org.eclipse.equinox.preferences' - iu 'org.eclipse.jdt.core' - iu 'org.eclipse.jface' - iu 'org.eclipse.osgi' - iu 'org.eclipse.pde.core' - iu 'org.eclipse.swt' - iu 'org.eclipse.ui.ide' - iu 'org.eclipse.ui.workbench' - } - group 'wst-deps', { - repo 'http://download.eclipse.org/releases/oxygen' - slicingOption 'latestVersionOnly', 'true' - iu 'org.eclipse.wst.jsdt.core' - iu 'org.eclipse.wst.jsdt.ui' - } -} - - -//////////////////////////////////////////////////////////////////////// -// -// common Java setup shared by multiple projects -// - -group name -version '1.5.0-SNAPSHOT' - -subprojects { subproject -> - // skip generic Java setup for the few projects that have no Java code whatsoever - switch (subproject.name) { - case 'com.ibm.wala-repository': - case ~/.*_feature/: - return - } - - apply plugin: 'java' - apply plugin: 'maven-publish' - apply plugin: 'nebula.source-jar' - - sourceCompatibility = 1.8 - - version rootProject.version - - repositories { - mavenCentral() - maven { - url "$rootProject.buildDir/p2asmaven/maven" - } - } - - jar.manifest.from('META-INF/MANIFEST.MF') - - task afterEclipseBuildshipImport(dependsOn: processTestResources) - - test { - include '**/*Test.class' - include '**/*TestCase.class' - include '**/*Tests.class' - include '**/Test*.class' - exclude '**/*AndroidLibs*.class' - - maxParallelForks = Integer.MAX_VALUE - } -} - -task afterEclipseBuildshipImport(type: Exec) { - commandLine './revert-launchers.sh' -} - - -//////////////////////////////////////////////////////////////////////// -// -// find platform-specific SWT implementations -// - -def osgi_platform - -switch (System.getProperty('os.name')) { - case ~/Mac OS X/: - osgi_platform = 'cocoa.macosx.x86_64' - break - case ~/Windows.*/: - osgi_platform = 'win32.win32.x86_64' - break - case ~/Linux/: - osgi_platform = 'gtk.linux.x86_64' - break -} - -System.setProperty('osgi.platform', osgi_platform) - -subprojects { - configurations.all { - resolutionStrategy { - // failOnVersionConflict() - dependencySubstitution { - substitute module('eclipse-deps:org.eclipse.swt.${osgi.platform}') with module("eclipse-deps:org.eclipse.swt.${System.getProperty('osgi.platform')}:3.+") - } - } - } -} - - -//////////////////////////////////////////////////////////////////////// -// -// optional lint checking of Gradle scripts -// - -allprojects { - apply plugin: 'nebula.lint' - gradleLint.alwaysRun = false - gradleLint { - rules = ['all-dependency'] - excludedRules = [ - 'duplicate-dependency-class', - 'transitive-duplicate-dependency-class', - 'unused-dependency', - ] - } -} - - -//////////////////////////////////////////////////////////////////////// -// -// disable Javadoc linter until documentation is in better shape -// - -allprojects { - tasks.withType(Javadoc) { - options.addStringOption('Xdoclint:none', '-quiet') - } -} diff --git a/buildSrc/.gitignore b/buildSrc/.gitignore deleted file mode 100644 index da88288c0..000000000 --- a/buildSrc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/.gradle/ diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle deleted file mode 100644 index f038c25f3..000000000 --- a/buildSrc/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -repositories { - mavenCentral() -} - -dependencies { - compile 'de.undercouch:gradle-download-task:3.4.1' -} diff --git a/buildSrc/src/main/groovy/package-list.groovy b/buildSrc/src/main/groovy/package-list.groovy deleted file mode 100644 index 420eb95d6..000000000 --- a/buildSrc/src/main/groovy/package-list.groovy +++ /dev/null @@ -1,31 +0,0 @@ -import org.gradle.api.tasks.* - - -//////////////////////////////////////////////////////////////////////// -// -// create a Javadoc-style "package-list" file -// - -@CacheableTask -class CreatePackageList extends org.gradle.api.DefaultTask { - - @PathSensitive(PathSensitivity.RELATIVE) - @Input Object sourceSet - - @OutputFile File packageList = new File("$temporaryDir/package-list") - - @TaskAction - def create() { - sourceSet.sourceCollections.collect { collection -> - def sourceRoot = collection.tree.dir.toPath() - collection.collect { source -> - def javaSourceFilePath = source.toPath() - def parentPath = javaSourceFilePath.parent - def relativePath = sourceRoot.relativize(parentPath) - relativePath.toString().replace(File.separator, '.') - } - }.flatten().sort().unique().each { - packageList << "$it\n" - } - } -} diff --git a/buildSrc/src/main/groovy/verified-download.groovy b/buildSrc/src/main/groovy/verified-download.groovy deleted file mode 100644 index 26df81958..000000000 --- a/buildSrc/src/main/groovy/verified-download.groovy +++ /dev/null @@ -1,47 +0,0 @@ -import org.gradle.api.tasks.* - - -//////////////////////////////////////////////////////////////////////// -// -// download and use checksum to verify that we got what we expected -// - -@CacheableTask -class VerifiedDownload extends org.gradle.api.DefaultTask { - - // URL of resource to download - def @Input src - - // expected checksum of resource as hex digits - def @Input checksum - - // algorithm to use for computing checksum - def @Input algorithm = 'MD5' - - // whether to use ETag for selective downloading - def @Input useETag = true - - // local file into which resource should be saved - def @OutputFile dest - - File getDest() { - return project.file(dest) - } - - @TaskAction - downloadAndVerify() { - def destFile = getDest() - project.download { - src this.src - dest destFile - overwrite true - onlyIfModified true - useETag this.useETag - } - project.verifyChecksum { - src destFile - algorithm this.algorithm - checksum this.checksum - } - } -} diff --git a/com.ibm.wala-repository/pom.xml b/com.ibm.wala-repository/pom.xml index 5ea9fff2e..69cba65f4 100644 --- a/com.ibm.wala-repository/pom.xml +++ b/com.ibm.wala-repository/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala-repository eclipse-repository diff --git a/com.ibm.wala.cast.java.ecj/.classpath b/com.ibm.wala.cast.java.ecj/.classpath new file mode 100644 index 000000000..eca7bdba8 --- /dev/null +++ b/com.ibm.wala.cast.java.ecj/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.cast.java.ecj/.project b/com.ibm.wala.cast.java.ecj/.project new file mode 100644 index 000000000..d7049f923 --- /dev/null +++ b/com.ibm.wala.cast.java.ecj/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.java.ecj + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.java.ecj/META-INF/MANIFEST.MF b/com.ibm.wala.cast.java.ecj/META-INF/MANIFEST.MF index ebeb9ab7b..9e0c938c7 100644 --- a/com.ibm.wala.cast.java.ecj/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.java.ecj/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.java.ecj -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Require-Bundle: com.ibm.wala.cast.java, diff --git a/com.ibm.wala.cast.java.ecj/build.gradle b/com.ibm.wala.cast.java.ecj/build.gradle deleted file mode 100644 index 5aab2da58..000000000 --- a/com.ibm.wala.cast.java.ecj/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -sourceSets.main.java.srcDirs = ['src'] - -dependencies { - compile( - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.equinox.common:+', - 'eclipse-deps:org.eclipse.jdt.core:+', - 'org.osgi:org.osgi.core:4.2.0', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.java'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.cast.java.ecj/mvncentral.xml b/com.ibm.wala.cast.java.ecj/mvncentral.xml index f750df65f..58a676b2a 100644 --- a/com.ibm.wala.cast.java.ecj/mvncentral.xml +++ b/com.ibm.wala.cast.java.ecj/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.cast.java.ecj - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA CAst Java ECJ WALA Common AST Java ECJ front-end @@ -45,27 +45,27 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast.java - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT org.eclipse.core diff --git a/com.ibm.wala.cast.java.ecj/pom.xml b/com.ibm.wala.cast.java.ecj/pom.xml index 42ef708cb..79929ed01 100644 --- a/com.ibm.wala.cast.java.ecj/pom.xml +++ b/com.ibm.wala.cast.java.ecj/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.java.ecj eclipse-plugin diff --git a/com.ibm.wala.cast.java.test.data/.classpath b/com.ibm.wala.cast.java.test.data/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.cast.java.test.data/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.cast.java.test.data/.project b/com.ibm.wala.cast.java.test.data/.project new file mode 100644 index 000000000..2c6efd271 --- /dev/null +++ b/com.ibm.wala.cast.java.test.data/.project @@ -0,0 +1,38 @@ + + + com.ibm.wala.cast.java.test.data + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/java.test.data JLex download.launch + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs index e9bbf5230..af9c1751e 100644 --- a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs @@ -18,7 +18,6 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.APILeak=error org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=ignore @@ -69,7 +68,7 @@ org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=ignore +org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error @@ -91,7 +90,6 @@ org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=error org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore diff --git a/com.ibm.wala.cast.java.test.data/META-INF/MANIFEST.MF b/com.ibm.wala.cast.java.test.data/META-INF/MANIFEST.MF index 00043ac27..d3559f6f8 100644 --- a/com.ibm.wala.cast.java.test.data/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.java.test.data/META-INF/MANIFEST.MF @@ -2,6 +2,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.java.test.data -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/com.ibm.wala.cast.java.test.data/build.gradle b/com.ibm.wala.cast.java.test.data/build.gradle deleted file mode 100644 index 62a55350f..000000000 --- a/com.ibm.wala.cast.java.test.data/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -apply plugin: 'eclipse' - -sourceSets.test.java.srcDirs = ['src'] - - -//////////////////////////////////////////////////////////////////////// -// -// download JLex -// - -task downloadJLex(type: VerifiedDownload) { - src 'http://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java' - checksum 'fe0cff5db3e2f0f5d67a153cf6c783af' - dest 'src/JLex/Main.java' -} - -task cleanDownloadJLex(type: Delete) { - delete downloadJLex.dest.parent -} - -compileTestJava.dependsOn downloadJLex -clean.dependsOn cleanDownloadJLex - - -//////////////////////////////////////////////////////////////////////// -// -// create Eclipse metadata for use by Maven when running -// com.ibm.wala.cast.java.test.JDTJavaIRTests and -// com.ibm.wala.cast.java.test.JDTJava15IRTests tests -// - -task prepareMavenBuild(dependsOn: [eclipseClasspath, eclipseProject]) { -} diff --git a/com.ibm.wala.cast.java.test.data/pom.xml b/com.ibm.wala.cast.java.test.data/pom.xml index 318046417..708724231 100644 --- a/com.ibm.wala.cast.java.test.data/pom.xml +++ b/com.ibm.wala.cast.java.test.data/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.java.test.data eclipse-plugin diff --git a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java index d212743e9..21bb0c585 100644 --- a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java +++ b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java @@ -42,6 +42,7 @@ public class ArraysAndSuch { public static void main(String args[]) { ArraysAndSuch.main(); } + @SuppressWarnings("null") public static void main() { Object o1 = null; Object[] os1 = new Object[] { null, o1, null }; diff --git a/com.ibm.wala.cast.java.test/.classpath b/com.ibm.wala.cast.java.test/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.cast.java.test/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.cast.java.test/.project b/com.ibm.wala.cast.java.test/.project new file mode 100644 index 000000000..ab02197e1 --- /dev/null +++ b/com.ibm.wala.cast.java.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.java.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.java.test/META-INF/MANIFEST.MF b/com.ibm.wala.cast.java.test/META-INF/MANIFEST.MF index 20343a190..f42a6a393 100644 --- a/com.ibm.wala.cast.java.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.java.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.java.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Activator: com.ibm.wala.cast.java.test.TestPlugin Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.core.tests, diff --git a/com.ibm.wala.cast.java.test/build.gradle b/com.ibm.wala.cast.java.test/build.gradle deleted file mode 100644 index 1f6b7e47e..000000000 --- a/com.ibm.wala.cast.java.test/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -apply plugin: 'com.github.hauner.jarTest' -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.test.java.srcDirs = ['src'] - -dependencies { - testCompile( - 'junit:junit:4.11', - 'org.osgi:org.osgi.core:4.2.0', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.java'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - ) -} - -test { - maxHeapSize = '800M' -} diff --git a/com.ibm.wala.cast.java.test/build.properties b/com.ibm.wala.cast.java.test/build.properties index 142043f98..6138c1ade 100644 --- a/com.ibm.wala.cast.java.test/build.properties +++ b/com.ibm.wala.cast.java.test/build.properties @@ -1,6 +1,7 @@ source.. = src/ -output.. = bin/test +output.. = bin/ bin.includes = META-INF/,\ .,\ + OSGI-INF/l10n/bundle.properties,\ OSGI-INF/ javacProjectSettings = true diff --git a/com.ibm.wala.cast.java.test/pom.xml b/com.ibm.wala.cast.java.test/pom.xml index 48d403b4c..dc6175f4a 100644 --- a/com.ibm.wala.cast.java.test/pom.xml +++ b/com.ibm.wala.cast.java.test/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.java.test eclipse-plugin diff --git a/com.ibm.wala.cast.java/.classpath b/com.ibm.wala.cast.java/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.cast.java/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.cast.java/.project b/com.ibm.wala.cast.java/.project new file mode 100644 index 000000000..335e71eda --- /dev/null +++ b/com.ibm.wala.cast.java/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.java + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.java/META-INF/MANIFEST.MF b/com.ibm.wala.cast.java/META-INF/MANIFEST.MF index 686671850..97000fb92 100644 --- a/com.ibm.wala.cast.java/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.java/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.java -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.cast, com.ibm.wala.core, diff --git a/com.ibm.wala.cast.java/build.gradle b/com.ibm.wala.cast.java/build.gradle deleted file mode 100644 index 3b364b547..000000000 --- a/com.ibm.wala.cast.java/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.main.java.srcDirs = ['src'] - -dependencies { - compile( - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.cast.java/build.properties b/com.ibm.wala.cast.java/build.properties index 34e5e723d..6138c1ade 100644 --- a/com.ibm.wala.cast.java/build.properties +++ b/com.ibm.wala.cast.java/build.properties @@ -1,5 +1,5 @@ source.. = src/ -output.. = bin/main +output.. = bin/ bin.includes = META-INF/,\ .,\ OSGI-INF/l10n/bundle.properties,\ diff --git a/com.ibm.wala.cast.java/mvncentral.xml b/com.ibm.wala.cast.java/mvncentral.xml index 424c6661e..84b6967f4 100644 --- a/com.ibm.wala.cast.java/mvncentral.xml +++ b/com.ibm.wala.cast.java/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.cast.java - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA CAst WALA Common AST core Java front-end functionality @@ -45,22 +45,22 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT diff --git a/com.ibm.wala.cast.java/pom.xml b/com.ibm.wala.cast.java/pom.xml index 5a5196cc4..3a9a8a9f0 100644 --- a/com.ibm.wala.cast.java/pom.xml +++ b/com.ibm.wala.cast.java/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.java eclipse-plugin diff --git a/com.ibm.wala.cast.js.html.nu_validator/.classpath b/com.ibm.wala.cast.js.html.nu_validator/.classpath new file mode 100644 index 000000000..9993eede2 --- /dev/null +++ b/com.ibm.wala.cast.js.html.nu_validator/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/com.ibm.wala.cast.js.html.nu_validator/.gitignore b/com.ibm.wala.cast.js.html.nu_validator/.gitignore deleted file mode 100644 index 9b61c8c04..000000000 --- a/com.ibm.wala.cast.js.html.nu_validator/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/*.html diff --git a/com.ibm.wala.cast.js.html.nu_validator/.project b/com.ibm.wala.cast.js.html.nu_validator/.project new file mode 100644 index 000000000..d963a4a29 --- /dev/null +++ b/com.ibm.wala.cast.js.html.nu_validator/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.html.nu_validator + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.cast.js.html.nu_validator/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.html.nu_validator/META-INF/MANIFEST.MF index 4f6b34823..bec69733e 100644 --- a/com.ibm.wala.cast.js.html.nu_validator/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.html.nu_validator/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js.html.nu_validator -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Export-Package: com.ibm.wala.cast.js.html.nu_validator, com.ibm.wala.cast.js.test Require-Bundle: com.ibm.wala.cast.js;bundle-version="1.0.0", diff --git a/com.ibm.wala.cast.js.html.nu_validator/build.gradle b/com.ibm.wala.cast.js.html.nu_validator/build.gradle deleted file mode 100644 index aa1a76da1..000000000 --- a/com.ibm.wala.cast.js.html.nu_validator/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -sourceSets { - main.java.srcDirs = ['src'] - test { - java.srcDirs = ['tests'] - resources.srcDirs = [project(':com.ibm.wala.cast.js.test.data').file('examples-src')] - } -} - -dependencies { - compile( - 'nu.validator.htmlparser:htmlparser:1.4', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.util'), - ) - testCompile( - project(':com.ibm.wala.cast.test'), - project(':com.ibm.wala.core.tests'), - project(configuration: 'testArchives', path: ':com.ibm.wala.cast.js.rhino.test'), - project(configuration: 'testArchives', path: ':com.ibm.wala.cast.js.test'), - ) -} - -test { - maxHeapSize = '800M' -} diff --git a/com.ibm.wala.cast.js.html.nu_validator/pom.xml b/com.ibm.wala.cast.js.html.nu_validator/pom.xml index f3bcec8f1..1610139c4 100644 --- a/com.ibm.wala.cast.js.html.nu_validator/pom.xml +++ b/com.ibm.wala.cast.js.html.nu_validator/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.js.html.nu_validator eclipse-plugin diff --git a/com.ibm.wala.cast.js.nodejs.test/.classpath b/com.ibm.wala.cast.js.nodejs.test/.classpath new file mode 100644 index 000000000..238fb5a24 --- /dev/null +++ b/com.ibm.wala.cast.js.nodejs.test/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/com.ibm.wala.cast.js.nodejs.test/.project b/com.ibm.wala.cast.js.nodejs.test/.project new file mode 100644 index 000000000..78dc45c70 --- /dev/null +++ b/com.ibm.wala.cast.js.nodejs.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.nodejs.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.cast.js.nodejs.test/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.nodejs.test/META-INF/MANIFEST.MF index 2edaf3ff1..7c38ef4e5 100644 --- a/com.ibm.wala.cast.js.nodejs.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.nodejs.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js.nodejs.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Export-Package: NodejsRequireJsonTest, NodejsRequireTargetSelectorResolve, NodejsRequireTargetSelectorResolve.requireDynamic, diff --git a/com.ibm.wala.cast.js.nodejs.test/build.gradle b/com.ibm.wala.cast.js.nodejs.test/build.gradle deleted file mode 100644 index f23821dc2..000000000 --- a/com.ibm.wala.cast.js.nodejs.test/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -sourceSets.test { - java.srcDirs = ['src'] - resources.srcDirs = ['testdata'] -} - -dependencies { - testCompile( - 'junit:junit:4.11', - project(':com.ibm.wala.cast.js.nodejs'), - project(':com.ibm.wala.core'), - ) -} - -test { - maxHeapSize = '800M' - - // fails with java.lang.OutOfMemoryError for unknown reasons - exclude '**/NodejsRequireTargetSelectorResolveTest.class' -} diff --git a/com.ibm.wala.cast.js.nodejs.test/pom.xml b/com.ibm.wala.cast.js.nodejs.test/pom.xml index 445e033a0..89f73c0fe 100644 --- a/com.ibm.wala.cast.js.nodejs.test/pom.xml +++ b/com.ibm.wala.cast.js.nodejs.test/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.js.nodejs.test eclipse-plugin diff --git a/com.ibm.wala.cast.js.nodejs/.classpath b/com.ibm.wala.cast.js.nodejs/.classpath new file mode 100644 index 000000000..45c15b83d --- /dev/null +++ b/com.ibm.wala.cast.js.nodejs/.classpath @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/com.ibm.wala.cast.js.nodejs/.project b/com.ibm.wala.cast.js.nodejs/.project new file mode 100644 index 000000000..d9ee4a7e5 --- /dev/null +++ b/com.ibm.wala.cast.js.nodejs/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.nodejs + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.cast.js.nodejs/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.nodejs/META-INF/MANIFEST.MF index 42e309445..08f676ddb 100644 --- a/com.ibm.wala.cast.js.nodejs/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.nodejs/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js.nodejs -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Export-Package: com.ibm.wala.cast.js.nodejs, org.json Require-Bundle: com.ibm.wala.cast.js;bundle-version="1.3.10", diff --git a/com.ibm.wala.cast.js.nodejs/build.gradle b/com.ibm.wala.cast.js.nodejs/build.gradle deleted file mode 100644 index fe771d451..000000000 --- a/com.ibm.wala.cast.js.nodejs/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -dependencies { - compile( - 'commons-io:commons-io:2.4', - 'org.json:json:20160212', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.cast.js.rhino'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.util'), - ) -} - -task downloadNodeJS(type: VerifiedDownload) { - src 'https://api.github.com/repos/nodejs/node/zipball/0a604e92e258c5ee2752d763e50721e35053f135' - dest "$temporaryDir/nodejs.zip" - checksum '33c5ba7a5d45644e70d268d8ad3e57df' -} - -task unpackNodeJSLib(type: Copy, dependsOn: downloadNodeJS) { - from(zipTree(downloadNodeJS.dest)) { - include 'nodejs-node-0a604e9/lib/*.js' - eachFile { - relativePath new RelativePath(!directory, relativePath.lastName) - } - } - - into 'dat/core-modules' - includeEmptyDirs false -} - -task cleanUnpackNodeJSLib(type: Delete) { - delete fileTree(dir: 'dat/core-modules', include: '*.js') -} - -processResources.dependsOn unpackNodeJSLib -clean.dependsOn cleanUnpackNodeJSLib - -sourceSets.main { - java.srcDirs = ['src'] - resources.srcDirs = ['dat'] -} diff --git a/com.ibm.wala.cast.js.nodejs/pom.xml b/com.ibm.wala.cast.js.nodejs/pom.xml index 0346c19be..7b9f33f57 100644 --- a/com.ibm.wala.cast.js.nodejs/pom.xml +++ b/com.ibm.wala.cast.js.nodejs/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT eclipse-plugin com.ibm.wala.cast.js.nodejs diff --git a/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequireTargetSelector.java b/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequireTargetSelector.java index 6be756510..e3b415020 100644 --- a/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequireTargetSelector.java +++ b/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequireTargetSelector.java @@ -116,6 +116,8 @@ public class NodejsRequireTargetSelector implements MethodTargetSelector { IClass script = builder.getClassHierarchy() .lookupClass(TypeReference.findOrCreate(jsLoader.getReference(), className)); + System.err.println(builder.getClassHierarchy()); + IMethod method = script.getMethod(AstMethodReference.fnSelector); previouslyRequired.put(sourceModule.getClassName(), method); diff --git a/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequiredCoreModule.java b/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequiredCoreModule.java index a90d347b4..2b8326013 100644 --- a/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequiredCoreModule.java +++ b/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsRequiredCoreModule.java @@ -13,16 +13,13 @@ package com.ibm.wala.cast.js.nodejs; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.nio.file.Files; import java.util.Arrays; -import java.util.Map; import java.util.Set; import org.apache.commons.io.FilenameUtils; import com.ibm.wala.cast.ipa.callgraph.CAstCallGraphUtil; import com.ibm.wala.classLoader.SourceFileModule; -import com.ibm.wala.util.collections.HashMapFactory; import com.ibm.wala.util.collections.HashSetFactory; import com.ibm.wala.util.io.TemporaryFile; @@ -54,18 +51,8 @@ public class NodejsRequiredCoreModule extends NodejsRequiredSourceModule { return NodejsRequiredCoreModule.class.getClassLoader().getResourceAsStream("core-modules/" + name + ".js"); } - - private static final Map names = HashMapFactory.make(); - public static NodejsRequiredCoreModule make(String name) throws IOException { - if (! names.containsKey(name)) { - java.nio.file.Path p = Files.createTempDirectory("nodejs"); - File f = new File(p.toFile(), name + ".js"); - f.deleteOnExit(); - p.toFile().deleteOnExit(); - names.put(name, f); - } - File file = names.get(name); + File file = new File(System.getProperty("java.io.tmpdir"), name+".js"); TemporaryFile.streamToFile(file, getModule(name)); SourceFileModule sourceFileModule = CAstCallGraphUtil.makeSourceModule(file.toURI().toURL(), file.getName()); return new NodejsRequiredCoreModule(file, sourceFileModule); diff --git a/com.ibm.wala.cast.js.rhino.test/.classpath b/com.ibm.wala.cast.js.rhino.test/.classpath new file mode 100644 index 000000000..d338e402d --- /dev/null +++ b/com.ibm.wala.cast.js.rhino.test/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/com.ibm.wala.cast.js.rhino.test/.project b/com.ibm.wala.cast.js.rhino.test/.project new file mode 100644 index 000000000..9b1366589 --- /dev/null +++ b/com.ibm.wala.cast.js.rhino.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.rhino.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.js.rhino.test/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.rhino.test/META-INF/MANIFEST.MF index 4f8098725..5f63ec99b 100644 --- a/com.ibm.wala.cast.js.rhino.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.rhino.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js.rhino.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.cast.js.rhino;bundle-version="1.0.0", com.ibm.wala.cast.js;bundle-version="1.0.0", diff --git a/com.ibm.wala.cast.js.rhino.test/build.gradle b/com.ibm.wala.cast.js.rhino.test/build.gradle deleted file mode 100644 index a648b7264..000000000 --- a/com.ibm.wala.cast.js.rhino.test/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -apply plugin: 'com.github.hauner.jarTest' - -sourceSets.test { - java.srcDirs = ['harness-src'] - resources.srcDirs = [project(':com.ibm.wala.cast.js.test.data').file('examples-src')] -} - -dependencies { - testCompile( - 'junit:junit:4.11', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.cast.js.rhino'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.cast.js.test'), - project(configuration: 'testArchives', path: ':com.ibm.wala.cast.test'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - ) -} - -test { - environment 'TRAVIS', 1 - maxHeapSize = '800M' -} - -task cleanTest(type: Delete) { - delete 'actual.dump' - delete 'expected.dump' -} - -clean.dependsOn cleanTest diff --git a/com.ibm.wala.cast.js.rhino.test/build.properties b/com.ibm.wala.cast.js.rhino.test/build.properties index 77d1a808b..e19e77648 100644 --- a/com.ibm.wala.cast.js.rhino.test/build.properties +++ b/com.ibm.wala.cast.js.rhino.test/build.properties @@ -1,5 +1,6 @@ source.. = harness-src/ -output.. = bin/ +output.. = bin/,\ + /com.ibm.wala.cast.js.test.data/examples-src/ bin.includes = META-INF/,\ .,\ OSGI-INF/l10n/bundle.properties,\ diff --git a/com.ibm.wala.cast.js.rhino.test/launchers/JsViewerDriver.launch b/com.ibm.wala.cast.js.rhino.test/launchers/JsViewerDriver.launch index 2f889885f..a86923eba 100644 --- a/com.ibm.wala.cast.js.rhino.test/launchers/JsViewerDriver.launch +++ b/com.ibm.wala.cast.js.rhino.test/launchers/JsViewerDriver.launch @@ -1,14 +1,13 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/com.ibm.wala.cast.js.rhino.test/launchers/TestForInLoopHackRhino.launch b/com.ibm.wala.cast.js.rhino.test/launchers/TestForInLoopHackRhino.launch index 040acce0f..70e3ecc8d 100644 --- a/com.ibm.wala.cast.js.rhino.test/launchers/TestForInLoopHackRhino.launch +++ b/com.ibm.wala.cast.js.rhino.test/launchers/TestForInLoopHackRhino.launch @@ -11,7 +11,6 @@ - diff --git a/com.ibm.wala.cast.js.rhino.test/launchers/TestMozillaBugPagesRhino.launch b/com.ibm.wala.cast.js.rhino.test/launchers/TestMozillaBugPagesRhino.launch index 135f3fabb..e979be029 100644 --- a/com.ibm.wala.cast.js.rhino.test/launchers/TestMozillaBugPagesRhino.launch +++ b/com.ibm.wala.cast.js.rhino.test/launchers/TestMozillaBugPagesRhino.launch @@ -15,7 +15,6 @@ - diff --git a/com.ibm.wala.cast.js.rhino.test/launchers/com.ibm.wala.cast.js.rhino.test-JUnit.launch b/com.ibm.wala.cast.js.rhino.test/launchers/com.ibm.wala.cast.js.rhino.test-JUnit.launch index 2081a4ca2..f20f3a830 100644 --- a/com.ibm.wala.cast.js.rhino.test/launchers/com.ibm.wala.cast.js.rhino.test-JUnit.launch +++ b/com.ibm.wala.cast.js.rhino.test/launchers/com.ibm.wala.cast.js.rhino.test-JUnit.launch @@ -22,7 +22,6 @@ - diff --git a/com.ibm.wala.cast.js.rhino.test/pom.xml b/com.ibm.wala.cast.js.rhino.test/pom.xml index 3b5a55af8..b28a96c89 100644 --- a/com.ibm.wala.cast.js.rhino.test/pom.xml +++ b/com.ibm.wala.cast.js.rhino.test/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.js.rhino.test eclipse-plugin diff --git a/com.ibm.wala.cast.js.rhino/.classpath b/com.ibm.wala.cast.js.rhino/.classpath new file mode 100644 index 000000000..f984de818 --- /dev/null +++ b/com.ibm.wala.cast.js.rhino/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/com.ibm.wala.cast.js.rhino/.project b/com.ibm.wala.cast.js.rhino/.project new file mode 100644 index 000000000..0c4c29ceb --- /dev/null +++ b/com.ibm.wala.cast.js.rhino/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.rhino + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.js.rhino/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.rhino/META-INF/MANIFEST.MF index 6604cd0e2..99259b787 100644 --- a/com.ibm.wala.cast.js.rhino/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.rhino/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js.rhino -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor -Require-Bundle: com.ibm.wala.cast;bundle-version="1.5.0", - com.ibm.wala.cast.js;bundle-version="1.5.0", - com.ibm.wala.core;bundle-version="1.5.0", - com.ibm.wala.util;bundle-version="1.5.0" +Require-Bundle: com.ibm.wala.cast;bundle-version="1.4.4", + com.ibm.wala.cast.js;bundle-version="1.4.4", + com.ibm.wala.core;bundle-version="1.4.4", + com.ibm.wala.util;bundle-version="1.4.4" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ActivationPolicy: lazy Export-Package: com.ibm.wala.cast.js.translator, diff --git a/com.ibm.wala.cast.js.rhino/build.gradle b/com.ibm.wala.cast.js.rhino/build.gradle deleted file mode 100644 index 520d01bea..000000000 --- a/com.ibm.wala.cast.js.rhino/build.gradle +++ /dev/null @@ -1,11 +0,0 @@ -sourceSets.main.java.srcDirs = ['source'] - -dependencies { - compile( - 'org.mozilla:rhino:1.7.7.1', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.cast.js.rhino/mvncentral.xml b/com.ibm.wala.cast.js.rhino/mvncentral.xml index ad435a28b..6e9dbdd96 100644 --- a/com.ibm.wala.cast.js.rhino/mvncentral.xml +++ b/com.ibm.wala.cast.js.rhino/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.cast.js.rhino - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA CAst JS Rhino WALA JS Rhino adapter @@ -45,22 +45,22 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast.js - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT org.mozilla diff --git a/com.ibm.wala.cast.js.rhino/pom.xml b/com.ibm.wala.cast.js.rhino/pom.xml index 8e67a7e05..8eeba1b5c 100644 --- a/com.ibm.wala.cast.js.rhino/pom.xml +++ b/com.ibm.wala.cast.js.rhino/pom.xml @@ -6,7 +6,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.js.rhino eclipse-plugin diff --git a/com.ibm.wala.cast.js.test.data/.project b/com.ibm.wala.cast.js.test.data/.project new file mode 100644 index 000000000..1c3abaf49 --- /dev/null +++ b/com.ibm.wala.cast.js.test.data/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.test.data + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.wst.jsdt.core.jsNature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.cast.js.test.data/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.test.data/META-INF/MANIFEST.MF index e82c04666..1436df11d 100644 --- a/com.ibm.wala.cast.js.test.data/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.test.data/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Eclipse-LazyStart: true Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.wala.cast.js.test.data;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %providerName Bundle-ActivationPolicy: lazy Bundle-ClassPath: examples-src/ diff --git a/com.ibm.wala.cast.js.test.data/build.gradle b/com.ibm.wala.cast.js.test.data/build.gradle deleted file mode 100644 index 1608009e8..000000000 --- a/com.ibm.wala.cast.js.test.data/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -apply plugin: 'base' - -task downloadAjaxslt(type: VerifiedDownload) { - def version = '0.8.1' - def versionedArchive = "ajaxslt-${version}.tar.gz" - src "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ajaxslt/$versionedArchive" - dest "$temporaryDir/$versionedArchive" - checksum 'c995abe3310a401bb4db7f28a6409756' -} - -task unpackAjaxslt(type: Sync, dependsOn: downloadAjaxslt) { - from(tarTree(downloadAjaxslt.dest)) { - eachFile { - def newSegments = relativePath.segments[1 .. -1] as String[] - relativePath new RelativePath(!directory, newSegments) - } - } - into 'examples-src/ajaxslt' -} - -clean.dependsOn cleanUnpackAjaxslt diff --git a/com.ibm.wala.cast.js.test.data/pom.xml b/com.ibm.wala.cast.js.test.data/pom.xml index 9c483ad6e..072dc787a 100644 --- a/com.ibm.wala.cast.js.test.data/pom.xml +++ b/com.ibm.wala.cast.js.test.data/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.js.test.data eclipse-plugin diff --git a/com.ibm.wala.cast.js.test/.classpath b/com.ibm.wala.cast.js.test/.classpath new file mode 100755 index 000000000..ea32f68e7 --- /dev/null +++ b/com.ibm.wala.cast.js.test/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.cast.js.test/.launchConfigurations/com.ibm.wala.cast.js.test-JUnit.launch b/com.ibm.wala.cast.js.test/.launchConfigurations/com.ibm.wala.cast.js.test-JUnit.launch index 3184e9f7f..98dbca14b 100644 --- a/com.ibm.wala.cast.js.test/.launchConfigurations/com.ibm.wala.cast.js.test-JUnit.launch +++ b/com.ibm.wala.cast.js.test/.launchConfigurations/com.ibm.wala.cast.js.test-JUnit.launch @@ -1,4 +1,4 @@ - + @@ -16,7 +16,6 @@ - diff --git a/com.ibm.wala.cast.js.test/.project b/com.ibm.wala.cast.js.test/.project new file mode 100644 index 000000000..a3070e2dd --- /dev/null +++ b/com.ibm.wala.cast.js.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.js.test/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js.test/META-INF/MANIFEST.MF index 7abcfd0c6..3b723b472 100644 --- a/com.ibm.wala.cast.js.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.cast.js, com.ibm.wala.cast, diff --git a/com.ibm.wala.cast.js.test/build.gradle b/com.ibm.wala.cast.js.test/build.gradle deleted file mode 100644 index 7eee4f639..000000000 --- a/com.ibm.wala.cast.js.test/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -apply plugin: 'com.github.hauner.jarTest' - -sourceSets.test { - java.srcDirs = ['harness-src'] - resources.srcDirs = [project(':com.ibm.wala.cast.js.test.data').file('examples-src')] -} - -dependencies { - testCompile( - 'junit:junit:4.11', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.cast.js.rhino'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.cast.test'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - ) -} - -processTestResources.dependsOn ':com.ibm.wala.cast.js.test.data:unpackAjaxslt' - -test { - maxHeapSize = '800M' -} diff --git a/com.ibm.wala.cast.js.test/pom.xml b/com.ibm.wala.cast.js.test/pom.xml index 88a522695..6bfefd237 100644 --- a/com.ibm.wala.cast.js.test/pom.xml +++ b/com.ibm.wala.cast.js.test/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.js.test eclipse-plugin diff --git a/com.ibm.wala.cast.js/.classpath b/com.ibm.wala.cast.js/.classpath new file mode 100644 index 000000000..00116fe19 --- /dev/null +++ b/com.ibm.wala.cast.js/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/com.ibm.wala.cast.js/.project b/com.ibm.wala.cast.js/.project new file mode 100644 index 000000000..ac04b2cc3 --- /dev/null +++ b/com.ibm.wala.cast.js/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.js + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs index 00846337f..86d282952 100644 --- a/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs @@ -35,7 +35,7 @@ org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore org.eclipse.jdt.core.compiler.problem.finalParameterBound=error org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error diff --git a/com.ibm.wala.cast.js/META-INF/MANIFEST.MF b/com.ibm.wala.cast.js/META-INF/MANIFEST.MF index aea6f9b23..617cec77c 100644 --- a/com.ibm.wala.cast.js/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.js/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.js;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-ClassPath: ., lib/jericho-html-3.2.jar Bundle-Vendor: %Bundle-Vendor diff --git a/com.ibm.wala.cast.js/build.gradle b/com.ibm.wala.cast.js/build.gradle deleted file mode 100644 index 1424ad156..000000000 --- a/com.ibm.wala.cast.js/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -sourceSets.main { - java.srcDirs = ['source'] - resources.srcDirs = ['dat'] -} - -dependencies { - compile( - 'commons-io:commons-io:2.4', - 'net.htmlparser.jericho:jericho-html:3.2', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} - -task createPackageList(type: CreatePackageList) { - sourceSet sourceSets.main.java -} - -javadoc { - def rhino = project(':com.ibm.wala.cast.js.rhino').compileJava - dependsOn rhino - doFirst { - classpath += files rhino - } -} diff --git a/com.ibm.wala.cast.js/mvncentral.xml b/com.ibm.wala.cast.js/mvncentral.xml index 1214dbf88..d4ed7f415 100644 --- a/com.ibm.wala.cast.js/mvncentral.xml +++ b/com.ibm.wala.cast.js/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.cast.js - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA CAst JS WALA JS frontend @@ -45,22 +45,22 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT net.htmlparser.jericho diff --git a/com.ibm.wala.cast.js/pom.xml b/com.ibm.wala.cast.js/pom.xml index afa191efb..4ec1afd90 100644 --- a/com.ibm.wala.cast.js/pom.xml +++ b/com.ibm.wala.cast.js/pom.xml @@ -6,7 +6,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast.js diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java index ba3076336..2c082c44a 100755 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java @@ -104,7 +104,7 @@ import com.ibm.wala.util.strings.Atom; * {@link JSImplicitPointsToSetVisitor#visitAstGlobalRead(AstGlobalRead)}. * Finally, we need to represent direct flow of the global object to handle * receiver argument semantics (see - * {@link com.ibm.wala.cast.js.translator.RhinoToAstTranslator}). To do so, we create a + * {@link org.mozilla.javascript.RhinoToAstTranslator}). To do so, we create a * reference to a global named {@link #GLOBAL_OBJ_VAR_NAME}, which is handled * specially in {@link JSConstraintVisitor#visitAstGlobalRead(AstGlobalRead)}. */ diff --git a/com.ibm.wala.cast.test/.classpath b/com.ibm.wala.cast.test/.classpath new file mode 100644 index 000000000..0d2c5c3f1 --- /dev/null +++ b/com.ibm.wala.cast.test/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.cast.test/.launchConfigurations/com.ibm.wala.cast.test-JUnit.launch b/com.ibm.wala.cast.test/.launchConfigurations/com.ibm.wala.cast.test-JUnit.launch index 7fde40e03..afb7832ff 100644 --- a/com.ibm.wala.cast.test/.launchConfigurations/com.ibm.wala.cast.test-JUnit.launch +++ b/com.ibm.wala.cast.test/.launchConfigurations/com.ibm.wala.cast.test-JUnit.launch @@ -12,7 +12,6 @@ - diff --git a/com.ibm.wala.cast.test/.project b/com.ibm.wala.cast.test/.project new file mode 100644 index 000000000..f9119f4ad --- /dev/null +++ b/com.ibm.wala.cast.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.cast.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast.test/META-INF/MANIFEST.MF b/com.ibm.wala.cast.test/META-INF/MANIFEST.MF index 548a1973e..74a498b1a 100644 --- a/com.ibm.wala.cast.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Require-Bundle: org.junit;bundle-version="4.0.0", diff --git a/com.ibm.wala.cast.test/build.gradle b/com.ibm.wala.cast.test/build.gradle deleted file mode 100644 index 7a1021996..000000000 --- a/com.ibm.wala.cast.test/build.gradle +++ /dev/null @@ -1,106 +0,0 @@ -apply plugin: 'com.github.hauner.jarTest' -apply plugin: 'cpp' -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.test.java.srcDirs = ['harness-src/java'] - -dependencies { - testCompile( - 'junit:junit:4.11', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - ) -} - -// TODO: build following targets for "test"-only, not "main" - -def currentJvm = org.gradle.internal.jvm.Jvm.current() - -task generateJniHeaders(type: Exec, dependsOn: [testClasses, ':com.ibm.wala.cast:classes']) { - // classes for which we need headers - def nativePackage = 'com.ibm.wala.cast.test' - def nativeClasses = ['TestNativeTranslator'] - def qualifiedClasses = nativeClasses.collect { "$nativePackage.$it" } - - // inputs and outputs, suitable for use with rule-based model configuration - ext { - sourceDir = null - headerDir = "$buildDir/include" - } - inputs.files files(qualifiedClasses.collect { "$buildDir/${it.replace('.', '/')}.class" }) - outputs.dir headerDir - outputs.cacheIf { true } - - // javah command to generate headers - def sourceSets = [sourceSets.test, project(':com.ibm.wala.cast').sourceSets.main] - def classesDirs = sourceSets.inject(files()) { acc, val -> acc.plus(val.output.classesDirs) } - def classpath = classesDirs.asPath - def javah = currentJvm.getExecutable('javah') - commandLine(javah, '-d', "$headerDir", '-classpath', classpath) - args(qualifiedClasses) -} - -model { - components { - xlator_test(NativeLibrarySpec) { - sources.cpp { - source { - srcDirs = ['harness-src/c'] - include 'smoke.cpp' - } - generatedBy generateJniHeaders - ['cast', 'jdk'].each { - lib project: ':com.ibm.wala.cast', library: it - } - } - binaries { - withType(StaticLibraryBinarySpec) { - buildable = false - } - withType(SharedLibraryBinarySpec) { - switch ("$targetPlatform.operatingSystem.name/$targetPlatform.architecture.name") { - case 'linux/x86-64': - // TODO: compute path on following line from 'cast' library properties somehow - linker.args '-Wl,-rpath', "${project(':com.ibm.wala.cast').buildDir}/libs/cast/shared" - // TODO: compute path on following line from 'jdk' library properties somehow - linker.args '-Wl,-rpath', "${currentJvm.javaHome}/jre/lib/amd64/server" - } - } - } - } - smoke_main(NativeExecutableSpec) { - sources.cpp { - source { - srcDirs = ['harness-src/c'] - include 'smoke_main.cpp' - } - ['cast', 'jdk'].each { - lib project: ':com.ibm.wala.cast', library: it - } - } - binaries.all { - switch ("$targetPlatform.operatingSystem.name/$targetPlatform.architecture.name") { - case 'linux/x86-64': - // TODO: compute path on following line from 'cast' library properties somehow - linker.args '-Wl,-rpath', "${project(':com.ibm.wala.cast').buildDir}/libs/cast/shared" - // TODO: compute path on following line from 'jdk' library properties somehow - linker.args '-Wl,-rpath', "${currentJvm.javaHome}/jre/lib/amd64/server" - } - } - } - } - - tasks.test { - def lib = linkXlator_testSharedLibrary - dependsOn lib - systemProperty 'java.library.path', lib.destinationDir - - // TODO: compute path on following line from 'cast' library properties somehow - def castLibDir = "${project(':com.ibm.wala.cast').buildDir}/libs/cast/shared" - environment 'DYLD_LIBRARY_PATH', castLibDir - } -} diff --git a/com.ibm.wala.cast.test/build.properties b/com.ibm.wala.cast.test/build.properties index 06b93cd6d..6743cabc9 100644 --- a/com.ibm.wala.cast.test/build.properties +++ b/com.ibm.wala.cast.test/build.properties @@ -1,6 +1,7 @@ source.. = harness-src/java -output.. = bin/test +output.. = bin/ bin.includes = META-INF/,\ .,\ + OSGI-INF/l10n/bundle.properties,\ OSGI-INF/ javacProjectSettings = true diff --git a/com.ibm.wala.cast.test/pom.xml b/com.ibm.wala.cast.test/pom.xml index 51f5b5c96..43c028825 100644 --- a/com.ibm.wala.cast.test/pom.xml +++ b/com.ibm.wala.cast.test/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast.test eclipse-plugin diff --git a/com.ibm.wala.cast/.classpath b/com.ibm.wala.cast/.classpath new file mode 100644 index 000000000..cd01f6364 --- /dev/null +++ b/com.ibm.wala.cast/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/com.ibm.wala.cast/.externalToolBuilders/make WALA.CAst.launch b/com.ibm.wala.cast/.externalToolBuilders/make WALA.CAst.launch new file mode 100644 index 000000000..9a84baf06 --- /dev/null +++ b/com.ibm.wala.cast/.externalToolBuilders/make WALA.CAst.launch @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/com.ibm.wala.cast/.project b/com.ibm.wala.cast/.project new file mode 100644 index 000000000..a58369e50 --- /dev/null +++ b/com.ibm.wala.cast/.project @@ -0,0 +1,38 @@ + + + com.ibm.wala.cast + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/make WALA.CAst.launch + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.cast/.settings/org.eclipse.pde.prefs b/com.ibm.wala.cast/.settings/org.eclipse.pde.prefs index 8b29c4063..4ce1c38b8 100644 --- a/com.ibm.wala.cast/.settings/org.eclipse.pde.prefs +++ b/com.ibm.wala.cast/.settings/org.eclipse.pde.prefs @@ -1,14 +1,14 @@ compilers.f.unresolved-features=0 compilers.f.unresolved-plugins=0 compilers.incompatible-environment=0 -compilers.p.build=2 -compilers.p.build.bin.includes=2 +compilers.p.build=0 +compilers.p.build.bin.includes=0 compilers.p.build.encodings=0 compilers.p.build.java.compiler=0 compilers.p.build.java.compliance=0 compilers.p.build.missing.output=0 -compilers.p.build.output.library=2 -compilers.p.build.source.library=2 +compilers.p.build.output.library=0 +compilers.p.build.source.library=0 compilers.p.build.src.includes=0 compilers.p.deprecated=0 compilers.p.discouraged-class=0 @@ -25,7 +25,7 @@ compilers.p.unknown-element=0 compilers.p.unknown-identifier=0 compilers.p.unknown-resource=0 compilers.p.unresolved-ex-points=0 -compilers.p.unresolved-import=2 +compilers.p.unresolved-import=0 compilers.s.create-docs=false compilers.s.doc-folder=doc compilers.s.open-tags=0 diff --git a/com.ibm.wala.cast/META-INF/MANIFEST.MF b/com.ibm.wala.cast/META-INF/MANIFEST.MF index adf846d6e..7409198b8 100644 --- a/com.ibm.wala.cast/META-INF/MANIFEST.MF +++ b/com.ibm.wala.cast/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.cast -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.core, com.ibm.wala.shrike diff --git a/com.ibm.wala.cast/build.gradle b/com.ibm.wala.cast/build.gradle deleted file mode 100644 index 9158a32bc..000000000 --- a/com.ibm.wala.cast/build.gradle +++ /dev/null @@ -1,107 +0,0 @@ -apply plugin: 'cpp' -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.main.java.srcDirs = ['source/java'] - -dependencies { - compile( - 'commons-io:commons-io:2.4', - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} - -javadoc { - def js = ':com.ibm.wala.cast.js' - evaluationDependsOn(js) - - dependsOn "$js:compileJava" - js = project(js) - doFirst { - classpath += files js.compileJava - } - - dependsOn js.createPackageList - options.linksOffline js.javadoc.outputDirectory.path, js.createPackageList.packageList.parent -} - -def currentJavaHome = org.gradle.internal.jvm.Jvm.current().javaHome - -model { - repositories { - libs(PrebuiltLibraries) { - jdk { - def jniIncludeDir = "$currentJavaHome/include" - headers.srcDir jniIncludeDir - binaries.withType(SharedLibraryBinary) { - switch (targetPlatform.operatingSystem.name) { - case 'linux': - headers.srcDirs "$jniIncludeDir/linux" - switch (targetPlatform.architecture.name) { - case 'x86-64': - sharedLibraryLinkFile = file("$currentJavaHome/jre/lib/amd64/server/libjvm.so") - break - } - break - case 'osx': - headers.srcDirs "$jniIncludeDir/darwin" - sharedLibraryLinkFile = file("$currentJavaHome/jre/lib/server/libjvm.dylib") - break - case 'windows': - headers.srcDirs "$jniIncludeDir/win32" - sharedLibraryLinkFile = file("$currentJavaHome/lib/jvm.lib") - break - } - } - } - } - } - components { - cast(NativeLibrarySpec) { - sources.cpp { - def cSourceDir = 'source/c' - source { - srcDirs = ["$cSourceDir/jni"] - include '*.cpp' - } - exportedHeaders.srcDirs = ["$cSourceDir/include"] - lib library: 'jdk' - } - binaries { - withType(StaticLibraryBinarySpec) { - buildable = false - } - withType(SharedLibraryBinarySpec) { - switch ("$targetPlatform.operatingSystem.name/$targetPlatform.architecture.name") { - case 'linux/x86-64': - $ - .repositories['libs'] - .resolveLibrary('jdk') - .binaries - .withType(SharedLibraryBinary) - .findResults { it.sharedLibraryLinkFile } - *.parentFile - .each { linker.args "-Wl,-rpath=$it" } - } - } - } - } - } -} - -// TODO: if we eventually stop supporting Maven, then we may be able -// to discard the "copyJarsIntoLib" task and the corresponding lines -// in "META-INF/MANIFEST.MF" and "build.properties" - -task copyJarsIntoLib(type: Sync) { - def commonsIoJar = configurations.runtimeClasspath.files[0] - assert commonsIoJar.name.startsWith('commons-io-') - from commonsIoJar - into 'lib' -} - -assemble.dependsOn copyJarsIntoLib -clean.dependsOn cleanCopyJarsIntoLib diff --git a/com.ibm.wala.cast/build.properties b/com.ibm.wala.cast/build.properties index 85d4cfa7e..ab2f2a2a4 100644 --- a/com.ibm.wala.cast/build.properties +++ b/com.ibm.wala.cast/build.properties @@ -1,7 +1,8 @@ source.. = source/java/ -output.. = bin/main +output.. = bin/ bin.includes = META-INF/,\ lib/commons-io-2.4.jar,\ .,\ + OSGI-INF/l10n/bundle.properties,\ OSGI-INF/ javacProjectSettings = true diff --git a/com.ibm.wala.cast/mvncentral.xml b/com.ibm.wala.cast/mvncentral.xml index 9ebaff8b6..f8e8054d9 100644 --- a/com.ibm.wala.cast/mvncentral.xml +++ b/com.ibm.wala.cast/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.cast - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA CAst WALA Common AST core library @@ -45,17 +45,17 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT commons-io diff --git a/com.ibm.wala.cast/pom.xml b/com.ibm.wala.cast/pom.xml index 7408bbd49..fcad9d334 100644 --- a/com.ibm.wala.cast/pom.xml +++ b/com.ibm.wala.cast/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.cast eclipse-plugin diff --git a/com.ibm.wala.cast/source/c/jni/CAstWrapper.cpp b/com.ibm.wala.cast/source/c/jni/CAstWrapper.cpp index 4f33fefa5..1f4924994 100644 --- a/com.ibm.wala.cast/source/c/jni/CAstWrapper.cpp +++ b/com.ibm.wala.cast/source/c/jni/CAstWrapper.cpp @@ -1,9 +1,14 @@ -#include -#include -#include #include -#include -#include + +#include + +#include +#include +#include + +#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__APPLE__) +#define strndup(s,n) strdup(s) +#endif #define __SIG( __nm ) "L" __nm ";" @@ -259,13 +264,16 @@ void CAstWrapper::assertIsCAstNode(jobject obj, int n) { jstring jclsstr = (jstring)env->CallObjectMethod(cls, toString); const char *cclsstr = env->GetStringUTFChars(jclsstr, NULL); - ostringstream formatter; - formatter << "argument " << n << " (" << cstr << " of type " << cclsstr << ") is not a CAstNode\n"; - const string message = formatter.str(); +#if defined(_MSC_VER) + char* buf = (char*)_alloca(strlen(cstr) + strlen(cclsstr) + 100); +#else + char buf[ strlen(cstr) + strlen(cclsstr) + 100 ]; +#endif + sprintf(buf, "argument %d (%s of type %s) is not a CAstNode\n", n, cstr, cclsstr); env->ReleaseStringUTFChars(jstr, cstr); env->ReleaseStringUTFChars(jclsstr, cclsstr); - THROW(java_ex, message.c_str()); + THROW(java_ex, buf); } } @@ -409,12 +417,14 @@ jobject CAstWrapper::makeConstant(jobject val) { return r; } -jobject CAstWrapper::makeConstant(const char *strData, int strLen) { - return makeConstant(string(strData, strLen).c_str()); +jobject CAstWrapper::makeConstant(const char *strData) { + return makeConstant(strData, strlen(strData)); } -jobject CAstWrapper::makeConstant(const char *strData) { - jobject val = env->NewStringUTF( strData ); +jobject CAstWrapper::makeConstant(const char *strData, int strLen) { + char *safeData = strndup(strData, strLen); + jobject val = env->NewStringUTF( safeData ); + delete safeData; jobject r = env->CallObjectMethod(Ast, makeObject, val); THROW_ANY_EXCEPTION(java_ex); LOG(r); @@ -578,7 +588,9 @@ const char *CAstWrapper::getEntityName(jobject entity) { } jobject CAstWrapper::makeSymbol(const char *name) { - jobject val = env->NewStringUTF( name ); + char *safeName = strndup(name, strlen(name)+1); + jobject val = env->NewStringUTF( safeName ); + delete safeName; jobject s = env->NewObject(CAstSymbol, castSymbolInit1, val); THROW_ANY_EXCEPTION(java_ex); @@ -588,7 +600,9 @@ jobject CAstWrapper::makeSymbol(const char *name) { } jobject CAstWrapper::makeSymbol(const char *name, bool isFinal) { - jobject val = env->NewStringUTF( name ); + char *safeName = strndup(name, strlen(name)+1); + jobject val = env->NewStringUTF( safeName ); + delete safeName; THROW_ANY_EXCEPTION(java_ex); @@ -600,7 +614,9 @@ jobject CAstWrapper::makeSymbol(const char *name, bool isFinal) { jobject CAstWrapper::makeSymbol(const char *name, bool isFinal, bool isCaseInsensitive) { - jobject val = env->NewStringUTF( name ); + char *safeName = strndup(name, strlen(name)+1); + jobject val = env->NewStringUTF( safeName ); + delete safeName; jobject s = env->NewObject(CAstSymbol, castSymbolInit3, val, isFinal, isCaseInsensitive); THROW_ANY_EXCEPTION(java_ex); @@ -615,7 +631,9 @@ jobject bool isCaseInsensitive, jobject defaultValue) { - jobject val = env->NewStringUTF( name ); + char *safeName = strndup(name, strlen(name)+1); + jobject val = env->NewStringUTF( safeName ); + delete safeName; jobject s = env->NewObject(CAstSymbol, castSymbolInit4, val, isFinal, isCaseInsensitive, defaultValue); THROW_ANY_EXCEPTION(java_ex); @@ -685,8 +703,10 @@ jobject CAstWrapper::makeClassEntity(jobject classType) { } jobject CAstWrapper::makeGlobalEntity(char *name, jobject type, list *modifiers) { - jobject val = env->NewStringUTF( name ); + char *safeData = strdup(name); + jobject val = env->NewStringUTF( safeData ); THROW_ANY_EXCEPTION(java_ex); + delete safeData; jobject entity = env->NewObject(NativeGlobalEntity, globalEntityInit, val, type, makeSet(modifiers)); THROW_ANY_EXCEPTION(java_ex); diff --git a/com.ibm.wala.cast/source/c/jni/Exceptions.cpp b/com.ibm.wala.cast/source/c/jni/Exceptions.cpp index 63f909db6..1f67e660b 100644 --- a/com.ibm.wala.cast/source/c/jni/Exceptions.cpp +++ b/com.ibm.wala.cast/source/c/jni/Exceptions.cpp @@ -1,12 +1,11 @@ -#include #include -#include -#include +#include +#include #include "Exceptions.h" -using std::ostringstream; -using std::string; - +#ifdef _MSC_VER +#include +#endif Exceptions::Exceptions(JNIEnv *java_env, jmp_buf& c_env) : _java_env(java_env), @@ -24,18 +23,14 @@ void Exceptions::throwAnyException(const char *file_name, int line_number) { if (_java_env->ExceptionCheck()) throwException(file_name, line_number); } -static void formatExceptionMessage(ostringstream &formatter, const char *file_name, int line_number) { - formatter << "exception at " << file_name << ':' << line_number; -} - void Exceptions::throwException(const char *file_name, int line_number) { jthrowable real_ex = _java_env->ExceptionOccurred(); _java_env->ExceptionClear(); - ostringstream formatter; - formatExceptionMessage(formatter, file_name, line_number); - string message = formatter.str(); - jstring java_message = _java_env->NewStringUTF(message.c_str()); + char msg[strlen(file_name) + 1024]; + memset(msg, 0, strlen(file_name) + 1024); + sprintf(msg, "exception at %s:%d", file_name, line_number); + jstring java_message = _java_env->NewStringUTF(msg); jthrowable ex = (jthrowable) _java_env->NewObject(_jre, _wrapper_ctr, java_message, real_ex); @@ -52,11 +47,10 @@ void Exceptions::throwException(const char *file_name, int line_number) { void Exceptions::throwException(const char *file_name, int line_number, const char *c_message) { - ostringstream formatter; - formatExceptionMessage(formatter, file_name, line_number); - formatter << ": " << c_message; - string message = formatter.str(); - jstring java_message = _java_env->NewStringUTF(message.c_str()); + char msg[strlen(file_name) + strlen(c_message) + 1024]; + memset(msg, 0, strlen(file_name) + strlen(c_message) + 1024); + sprintf(msg, "exception at %s:%d: %s", file_name, line_number, c_message); + jstring java_message = _java_env->NewStringUTF(msg); jthrowable ex = (jthrowable)_java_env->NewObject(_jre, _ctr, java_message); _java_env->Throw(ex); diff --git a/com.ibm.wala.cast/source/c/jni/launch.cpp b/com.ibm.wala.cast/source/c/jni/launch.cpp index 09be0d7d6..c836a33b1 100644 --- a/com.ibm.wala.cast/source/c/jni/launch.cpp +++ b/com.ibm.wala.cast/source/c/jni/launch.cpp @@ -1,24 +1,24 @@ -#include - #include -#include +#include +#include +#include #include "Exceptions.h" #include "CAstWrapper.h" #include "launch.h" JavaVM *javaVM; -static string javaPathFlag(const string &kind, const char *classpath) { - return "-Djava." + kind + ".path=" + classpath; -} - JNIEnv *launch_jvm(char *classpath) { JavaVMOption jvmopt[2]; - string buf_jcp = javaPathFlag("class", classpath); - jvmopt[0].optionString = const_cast(buf_jcp.c_str()); + const char *jcp = "-Djava.class.path="; + char buf_jcp[ strlen(jcp) + strlen(classpath) + 1 ]; + sprintf(buf_jcp, "%s%s", jcp, classpath); + jvmopt[0].optionString = buf_jcp; - string buf_jlp = javaPathFlag("library", classpath); - jvmopt[1].optionString = const_cast(buf_jlp.c_str()); + const char *jlp = "-Djava.library.path="; + char buf_jlp[ strlen(jlp) + strlen(classpath) + 1 ]; + sprintf(buf_jlp, "%s%s", jlp, classpath); + jvmopt[1].optionString = buf_jlp; JavaVMInitArgs vmArgs; vmArgs.version = JNI_VERSION_1_8; @@ -41,7 +41,3 @@ JNIEnv *launch_jvm(char *classpath) { void kill() { javaVM->DestroyJavaVM(); } - -// Local variables: -// c-basic-offset: 3 -// End: diff --git a/com.ibm.wala.core.testdata/.classpath b/com.ibm.wala.core.testdata/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.core.testdata/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.core.testdata/.project b/com.ibm.wala.core.testdata/.project new file mode 100644 index 000000000..e89838050 --- /dev/null +++ b/com.ibm.wala.core.testdata/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.core.testdata + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.core.testdata/.settings/org.eclipse.pde.prefs b/com.ibm.wala.core.testdata/.settings/org.eclipse.pde.prefs index 66b96ff05..1707c446a 100644 --- a/com.ibm.wala.core.testdata/.settings/org.eclipse.pde.prefs +++ b/com.ibm.wala.core.testdata/.settings/org.eclipse.pde.prefs @@ -6,7 +6,7 @@ compilers.p.build.bin.includes=1 compilers.p.build.encodings=1 compilers.p.build.java.compiler=0 compilers.p.build.java.compliance=1 -compilers.p.build.missing.output=0 +compilers.p.build.missing.output=1 compilers.p.build.output.library=1 compilers.p.build.source.library=1 compilers.p.build.src.includes=1 diff --git a/com.ibm.wala.core.testdata/META-INF/MANIFEST.MF b/com.ibm.wala.core.testdata/META-INF/MANIFEST.MF index 7f7883ede..199ca940c 100644 --- a/com.ibm.wala.core.testdata/META-INF/MANIFEST.MF +++ b/com.ibm.wala.core.testdata/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.core.testdata -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Eclipse-BuddyPolicy: registered diff --git a/com.ibm.wala.core.testdata/build.gradle b/com.ibm.wala.core.testdata/build.gradle deleted file mode 100644 index 58f685aa2..000000000 --- a/com.ibm.wala.core.testdata/build.gradle +++ /dev/null @@ -1,185 +0,0 @@ -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.test.java.srcDirs = ['src'] - - -//////////////////////////////////////////////////////////////////////// -// -// download and extract "bcel-5.2.jar" -// - -task downloadBcel(type: VerifiedDownload) { - ext.version = '5.2' - def archive = "bcel-${version}.tar.gz" - src "http://archive.apache.org/dist/jakarta/bcel/binaries/$archive" - dest "$temporaryDir/$archive" - checksum '19bffd7f217b0eae415f1ef87af2f0bc' - useETag false -} - -task extractBcel(type: Copy, dependsOn: downloadBcel) { - from(tarTree(downloadBcel.dest)) { - include "bcel-${downloadBcel.version}/bcel-${downloadBcel.version}.jar" - eachFile { - relativePath new RelativePath(!directory, relativePath.lastName) - } - } - into projectDir - includeEmptyDirs false - outputs.file "bcel-${downloadBcel.version}.jar" -} - -task cleanExtractBcel(type: Delete) { - delete files(extractBcel)[0] -} - -clean.dependsOn cleanExtractBcel - - - -//////////////////////////////////////////////////////////////////////// -// -// download "java-cup-11a.jar" -// - -task downloadJavaCup(type: VerifiedDownload) { - def archive = 'java-cup-11a.jar' - src "http://www2.cs.tum.edu/projects/cup/$archive" - dest "$projectDir/$archive" - checksum '2bda8c40abd0cbc295d3038643d6e4ec' -} - -task cleanDownloadJavaCup(type: Delete) { - delete downloadJavaCup -} - -clean.dependsOn cleanDownloadJavaCup - - -//////////////////////////////////////////////////////////////////////// -// -// collect "JLex.jar" -// - -task collectJLex(type: Jar) { - from project(':com.ibm.wala.cast.java.test.data').compileTestJava - include 'JLex/' - baseName 'JLex' - version null - destinationDir projectDir -} - -task cleanCollectJLex(type: Delete) { - delete collectJLex -} - -clean.dependsOn cleanCollectJLex - - -//////////////////////////////////////////////////////////////////////// -// -// generate "hello_hash.jar" -// - -task downloadOcamlJava(type: VerifiedDownload) { - def version = '2.0-alpha1' - ext.basename = "ocamljava-$version" - def archive = "${basename}.tar.gz" - src "http://www.ocamljava.org/downloads/download.php?version=$version-bin" - dest "$temporaryDir/$archive" - checksum '45feec6e3889f5073a39c2c4c84878d1' -} - -task unpackOcamlJava(type: Sync, dependsOn: downloadOcamlJava) { - from tarTree(downloadOcamlJava.dest) - into temporaryDir -} - -task generateHelloHashJar(type: JavaExec, dependsOn: unpackOcamlJava) { - def ocamlSource = file('ocaml/hello_hash.ml') - inputs.file ocamlSource - - def jarTarget = file('hello_hash.jar') - outputs.file jarTarget - outputs.cacheIf { true } - - def ocamlJavaJar = new File("$unpackOcamlJava.destinationDir/$downloadOcamlJava.basename/lib/ocamljava.jar") - inputs.file ocamlJavaJar - classpath ocamlJavaJar - - main 'ocaml.compilers.ocamljavaMain' - args ocamlSource, '-o', jarTarget -} - -task cleanGenerateHelloHashJar(type: Delete) { - delete generateHelloHashJar - delete fileTree('ocaml') { exclude '*.ml' } -} - -clean.dependsOn cleanGenerateHelloHashJar - - -//////////////////////////////////////////////////////////////////////// -// -// collect "com.ibm.wala.core.testdata_1.0.0.jar" -// - -task collectTestData(type: Jar) { - version '1.0.0' - archiveName "${baseName}_${version}.${extension}" - from compileTestJava - from 'classes' - includeEmptyDirs false - destinationDir projectDir -} - -task cleanCollectTestData(type: Delete) { - delete collectTestData -} - -clean.dependsOn cleanCollectTestData - - -//////////////////////////////////////////////////////////////////////// -// -// collect "com.ibm.wala.core.testdata_1.0.0a.jar" -// - -task collectTestDataA(type: Jar) { - version '1.0.0a' - archiveName "${baseName}_${version}.${extension}" - from compileTestJava - from 'classes' - includeEmptyDirs false - destinationDir projectDir - exclude ( - '**/CodeDeleted.class', - '**/SortingExample.class', - '**/A.class', - ) -} - -task cleanColllectTestDataA(type: Delete) { - delete collectTestDataA -} - -clean.dependsOn cleanCollectTestDataA - - -//////////////////////////////////////////////////////////////////////// -// -// help Eclipse build these extra jars when needed -// - -afterEclipseBuildshipImport { - dependsOn( - collectJLex, - collectTestData, - collectTestDataA, - downloadJavaCup, - extractBcel, - generateHelloHashJar, - ) -} diff --git a/com.ibm.wala.core.testdata/build.properties b/com.ibm.wala.core.testdata/build.properties index d61143dc0..0130d2b22 100644 --- a/com.ibm.wala.core.testdata/build.properties +++ b/com.ibm.wala.core.testdata/build.properties @@ -1,5 +1,5 @@ source.. = src/ -output.. = bin/test +output.. = bin/ bin.includes = META-INF/,\ .,\ hello_hash.jar,\ @@ -8,5 +8,6 @@ bin.includes = META-INF/,\ java-cup-11a.jar,\ com.ibm.wala.core.testdata_1.0.0.jar,\ com.ibm.wala.core.testdata_1.0.0a.jar,\ + OSGI-INF/l10n/bundle.properties,\ OSGI-INF/ javacProjectSettings = true diff --git a/com.ibm.wala.core.testdata/pom.xml b/com.ibm.wala.core.testdata/pom.xml index 68014ef65..5fe51ef75 100644 --- a/com.ibm.wala.core.testdata/pom.xml +++ b/com.ibm.wala.core.testdata/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT eclipse-plugin com.ibm.wala.core.testdata diff --git a/com.ibm.wala.core.tests/.classpath b/com.ibm.wala.core.tests/.classpath new file mode 100644 index 000000000..be35899bb --- /dev/null +++ b/com.ibm.wala.core.tests/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/com.ibm.wala.core.tests/.project b/com.ibm.wala.core.tests/.project new file mode 100644 index 000000000..bfb108c75 --- /dev/null +++ b/com.ibm.wala.core.tests/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.core.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.core.tests/META-INF/MANIFEST.MF b/com.ibm.wala.core.tests/META-INF/MANIFEST.MF index b72de2d05..c1d03fd98 100644 --- a/com.ibm.wala.core.tests/META-INF/MANIFEST.MF +++ b/com.ibm.wala.core.tests/META-INF/MANIFEST.MF @@ -2,11 +2,11 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.wala.core.tests;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %providerName Require-Bundle: com.ibm.wala.shrike, com.ibm.wala.core, - com.ibm.wala.ide.jdt;bundle-version="1.5.0.qualifier", + com.ibm.wala.ide.jdt;bundle-version="1.4.4.qualifier", org.eclipse.core.runtime, com.ibm.wala.core.testdata, org.junit;bundle-version="4.0.0", diff --git a/com.ibm.wala.core.tests/build.gradle b/com.ibm.wala.core.tests/build.gradle deleted file mode 100644 index be4f9c998..000000000 --- a/com.ibm.wala.core.tests/build.gradle +++ /dev/null @@ -1,47 +0,0 @@ -apply plugin: 'com.github.hauner.jarTest' -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.test { - java.srcDirs = ['src'] - resources.srcDirs = ['dat'] -} - -dependencies { - testCompile( - 'eclipse-deps:org.eclipse.core.runtime:+', - 'junit:junit:4.11', - 'org.apache.ant:ant:1.8.2', - 'org.hamcrest:hamcrest-core:1.3', - 'org.osgi:org.osgi.core:4.2.0', - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} - -processTestResources { - def testdata = project(':com.ibm.wala.core.testdata') - dependsOn testdata.compileTestJava - dependsOn testdata.extractBcel - - from testdata.collectJLex - from testdata.collectTestData - from testdata.downloadJavaCup - from files(testdata.extractBcel)[0] - from testdata.generateHelloHashJar -} - -test { - maxHeapSize = '800M' - systemProperty 'com.ibm.wala.junit.analyzingJar', 'true' - systemProperty 'com.ibm.wala.junit.profile', 'short' - classpath += files project(':com.ibm.wala.core.testdata').sourceSets.test.java.outputDir -} - -task cleanTest(type: Delete) { - delete 'report' -} - -clean.dependsOn cleanTest diff --git a/com.ibm.wala.core.tests/build.properties b/com.ibm.wala.core.tests/build.properties index 84faea788..f446fcbed 100644 --- a/com.ibm.wala.core.tests/build.properties +++ b/com.ibm.wala.core.tests/build.properties @@ -1,6 +1,6 @@ source.. = src/,\ dat/ -output.. = bin/test +output.. = bin/ bin.includes = META-INF/,\ .,\ plugin.xml,\ diff --git a/com.ibm.wala.core.tests/launchers/ConstructAllIRs.launch b/com.ibm.wala.core.tests/launchers/ConstructAllIRs.launch index 696cad793..b43baef4e 100644 --- a/com.ibm.wala.core.tests/launchers/ConstructAllIRs.launch +++ b/com.ibm.wala.core.tests/launchers/ConstructAllIRs.launch @@ -14,10 +14,9 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/CountParameters.launch b/com.ibm.wala.core.tests/launchers/CountParameters.launch index 323c9f88f..9db2684b1 100644 --- a/com.ibm.wala.core.tests/launchers/CountParameters.launch +++ b/com.ibm.wala.core.tests/launchers/CountParameters.launch @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/com.ibm.wala.core.tests/launchers/ExportTypeHierarchyToXML.launch b/com.ibm.wala.core.tests/launchers/ExportTypeHierarchyToXML.launch new file mode 100644 index 000000000..f1855729e --- /dev/null +++ b/com.ibm.wala.core.tests/launchers/ExportTypeHierarchyToXML.launch @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/com.ibm.wala.core.tests/launchers/GetEnv.launch b/com.ibm.wala.core.tests/launchers/GetEnv.launch new file mode 100644 index 000000000..ea2696a61 --- /dev/null +++ b/com.ibm.wala.core.tests/launchers/GetEnv.launch @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/com.ibm.wala.core.tests/launchers/GetLoadedFields.launch b/com.ibm.wala.core.tests/launchers/GetLoadedFields.launch index a976c16e5..e9d2a1cae 100644 --- a/com.ibm.wala.core.tests/launchers/GetLoadedFields.launch +++ b/com.ibm.wala.core.tests/launchers/GetLoadedFields.launch @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/com.ibm.wala.core.tests/launchers/JavaViewerDriver.launch b/com.ibm.wala.core.tests/launchers/JavaViewerDriver.launch index 1db565f94..3f01ab6c1 100644 --- a/com.ibm.wala.core.tests/launchers/JavaViewerDriver.launch +++ b/com.ibm.wala.core.tests/launchers/JavaViewerDriver.launch @@ -1,14 +1,13 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/com.ibm.wala.core.tests/launchers/PDFCallGraph.launch b/com.ibm.wala.core.tests/launchers/PDFCallGraph.launch index acb106dfa..dda5f77c6 100644 --- a/com.ibm.wala.core.tests/launchers/PDFCallGraph.launch +++ b/com.ibm.wala.core.tests/launchers/PDFCallGraph.launch @@ -1,4 +1,4 @@ - + @@ -7,9 +7,8 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/PDFControlDependenceGraph.launch b/com.ibm.wala.core.tests/launchers/PDFControlDependenceGraph.launch index af45adaf6..1078a9490 100644 --- a/com.ibm.wala.core.tests/launchers/PDFControlDependenceGraph.launch +++ b/com.ibm.wala.core.tests/launchers/PDFControlDependenceGraph.launch @@ -1,4 +1,4 @@ - + @@ -7,9 +7,8 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/PDFSDG.launch b/com.ibm.wala.core.tests/launchers/PDFSDG.launch index cc24dae49..d60eca042 100644 --- a/com.ibm.wala.core.tests/launchers/PDFSDG.launch +++ b/com.ibm.wala.core.tests/launchers/PDFSDG.launch @@ -1,4 +1,4 @@ - + @@ -7,9 +7,8 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/PDFSlice.launch b/com.ibm.wala.core.tests/launchers/PDFSlice.launch index 724318662..afcebf72c 100644 --- a/com.ibm.wala.core.tests/launchers/PDFSlice.launch +++ b/com.ibm.wala.core.tests/launchers/PDFSlice.launch @@ -1,4 +1,4 @@ - + @@ -7,9 +7,8 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/PDFTypeHierarchy.launch b/com.ibm.wala.core.tests/launchers/PDFTypeHierarchy.launch index a6cb0a45d..4659a6ab6 100644 --- a/com.ibm.wala.core.tests/launchers/PDFTypeHierarchy.launch +++ b/com.ibm.wala.core.tests/launchers/PDFTypeHierarchy.launch @@ -1,4 +1,4 @@ - + @@ -7,10 +7,9 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/PDFWalaIR.launch b/com.ibm.wala.core.tests/launchers/PDFWalaIR.launch index 47eb6a5fe..46072f221 100644 --- a/com.ibm.wala.core.tests/launchers/PDFWalaIR.launch +++ b/com.ibm.wala.core.tests/launchers/PDFWalaIR.launch @@ -7,10 +7,9 @@ - - + diff --git a/com.ibm.wala.core.tests/launchers/wala.core short profile (non-windows).launch b/com.ibm.wala.core.tests/launchers/wala.core short profile (non-windows).launch index dc000c027..4eb8c29ab 100644 --- a/com.ibm.wala.core.tests/launchers/wala.core short profile (non-windows).launch +++ b/com.ibm.wala.core.tests/launchers/wala.core short profile (non-windows).launch @@ -20,7 +20,6 @@ - diff --git a/com.ibm.wala.core.tests/launchers/wala.core short profile.launch b/com.ibm.wala.core.tests/launchers/wala.core short profile.launch index 1e8df5289..ac770da95 100644 --- a/com.ibm.wala.core.tests/launchers/wala.core short profile.launch +++ b/com.ibm.wala.core.tests/launchers/wala.core short profile.launch @@ -1,27 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/com.ibm.wala.core.tests/launchers/wala.core.launch b/com.ibm.wala.core.tests/launchers/wala.core.launch index cc9656aa1..2988ab875 100644 --- a/com.ibm.wala.core.tests/launchers/wala.core.launch +++ b/com.ibm.wala.core.tests/launchers/wala.core.launch @@ -23,7 +23,6 @@ - diff --git a/com.ibm.wala.core.tests/pom.xml b/com.ibm.wala.core.tests/pom.xml index 95a7cfd00..a63dcbfd9 100644 --- a/com.ibm.wala.core.tests/pom.xml +++ b/com.ibm.wala.core.tests/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.core.tests eclipse-plugin diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/shrike/DynamicCallGraphTestBase.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/shrike/DynamicCallGraphTestBase.java index 8635d5173..2a9807a83 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/shrike/DynamicCallGraphTestBase.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/shrike/DynamicCallGraphTestBase.java @@ -13,9 +13,9 @@ package com.ibm.wala.core.tests.shrike; import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; -import java.nio.file.Files; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -65,26 +65,17 @@ public abstract class DynamicCallGraphTestBase extends WalaTestCase { private boolean instrumentedJarBuilt = false; - private java.nio.file.Path instrumentedJarLocation; + private String instrumentedJarLocation = System.getProperty("java.io.tmpdir") + File.separator + "test.jar"; - private java.nio.file.Path cgLocation; - - protected DynamicCallGraphTestBase() { - try { - instrumentedJarLocation = Files.createTempFile("wala-test", ".jar"); - instrumentedJarLocation.toFile().deleteOnExit(); - cgLocation = Files.createTempFile("cg", ".txt"); - cgLocation.toFile().deleteOnExit(); - } catch (IOException problem) { - throw new RuntimeException(problem); - } - } + private String cgLocation = System.getProperty("java.io.tmpdir") + File.separator + "cg.txt"; protected void instrument(String testJarLocation) throws IOException, ClassNotFoundException, InvalidClassFileException, FailureException { if (! instrumentedJarBuilt) { System.err.println("core data jar to instrument: " + testJarLocation); - Files.deleteIfExists(instrumentedJarLocation); + if (new File(instrumentedJarLocation).exists()) { + assert new File(instrumentedJarLocation).delete(); + } String rtJar = null; for(String jar : WalaProperties.getJ2SEJarFiles()) { @@ -94,7 +85,7 @@ public abstract class DynamicCallGraphTestBase extends WalaTestCase { } List args = new ArrayList<>(); - args.addAll(Arrays.asList(testJarLocation, "-o", instrumentedJarLocation.toString())); + args.addAll(Arrays.asList(testJarLocation, "-o", instrumentedJarLocation)); if (rtJar != null) { args.addAll(Arrays.asList("--rt-jar", rtJar)); } @@ -102,16 +93,14 @@ public abstract class DynamicCallGraphTestBase extends WalaTestCase { args.add("--patch-calls"); } OfflineDynamicCallGraph.main(args.toArray(new String[ args.size() ])); - Assert.assertTrue("expected to create " + instrumentedJarLocation, Files.exists(instrumentedJarLocation)); + Assert.assertTrue("expected to create /tmp/test.jar", new File(instrumentedJarLocation).exists()); instrumentedJarBuilt = true; } } protected void run(String mainClass, String exclusionsFile, String... args) throws IOException, SecurityException, IllegalArgumentException, InterruptedException { Project p = new Project(); - final File projectDir = Files.createTempDirectory("wala-test").toFile(); - projectDir.deleteOnExit(); - p.setBaseDir(projectDir); + p.setBaseDir(new File(System.getProperty("java.io.tmpdir"))); p.init(); p.fireBuildStarted(); @@ -136,7 +125,9 @@ public abstract class DynamicCallGraphTestBase extends WalaTestCase { childJvm.setFailonerror(true); childJvm.setFork(true); - Files.deleteIfExists(cgLocation); + if (new File(cgLocation).exists()) { + new File(cgLocation).delete(); + } childJvm.init(); String commandLine = childJvm.getCommandLine().toString(); @@ -144,7 +135,7 @@ public abstract class DynamicCallGraphTestBase extends WalaTestCase { Process x = Runtime.getRuntime().exec(commandLine); x.waitFor(); - Assert.assertTrue("expected to create call graph", Files.exists(cgLocation)); + Assert.assertTrue("expected to create call graph", new File(cgLocation).exists()); } interface EdgesTest { @@ -195,7 +186,7 @@ public abstract class DynamicCallGraphTestBase extends WalaTestCase { protected void check(CallGraph staticCG, EdgesTest test, Predicate filter) throws IOException { int lines = 0; - try (final BufferedReader dynamicEdgesFile = new BufferedReader(new InputStreamReader(new GZIPInputStream(Files.newInputStream(cgLocation))))) { + try (final BufferedReader dynamicEdgesFile = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(cgLocation))))) { String line; loop: while ((line = dynamicEdgesFile.readLine()) != null) { if (line.startsWith("call to") || line.startsWith("return from")) { diff --git a/com.ibm.wala.core/.classpath b/com.ibm.wala.core/.classpath new file mode 100644 index 000000000..963e101b1 --- /dev/null +++ b/com.ibm.wala.core/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/com.ibm.wala.core/.project b/com.ibm.wala.core/.project new file mode 100644 index 000000000..aaddaebe9 --- /dev/null +++ b/com.ibm.wala.core/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.core + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.core/META-INF/MANIFEST.MF b/com.ibm.wala.core/META-INF/MANIFEST.MF index 1d2bd6579..0ac5ecaaf 100644 --- a/com.ibm.wala.core/META-INF/MANIFEST.MF +++ b/com.ibm.wala.core/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Eclipse-LazyStart: true Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.wala.core -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: com.ibm.wala.shrike, diff --git a/com.ibm.wala.core/build.gradle b/com.ibm.wala.core/build.gradle deleted file mode 100644 index 7aabb7ed1..000000000 --- a/com.ibm.wala.core/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.main { - java.srcDirs = ['src'] - resources.srcDirs = [ - 'dat', - 'lib', - ] -} - -dependencies { - compile( - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} - -javadoc { - def dalvik = ':com.ibm.wala.dalvik' - dependsOn "$dalvik:compileJava" - - doFirst { - classpath += files project(dalvik).compileJava - } -} diff --git a/com.ibm.wala.core/build.properties b/com.ibm.wala.core/build.properties index 9d7379058..e9f999865 100644 --- a/com.ibm.wala.core/build.properties +++ b/com.ibm.wala.core/build.properties @@ -4,8 +4,8 @@ bin.includes = plugin.properties,\ .,\ lib/ jars.compile.order = . +output.. = bin/ source.. = dat/,\ src/,\ lib/ -output.. = bin/main javacProjectSettings = true diff --git a/com.ibm.wala.core/mvncentral.xml b/com.ibm.wala.core/mvncentral.xml index 8c438d69f..c41017476 100644 --- a/com.ibm.wala.core/mvncentral.xml +++ b/com.ibm.wala.core/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA Core Core WALA analysis libraries @@ -45,12 +45,12 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT diff --git a/com.ibm.wala.core/pom.xml b/com.ibm.wala.core/pom.xml index 8d7273a36..e8291932a 100644 --- a/com.ibm.wala.core/pom.xml +++ b/com.ibm.wala.core/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.core eclipse-plugin diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java b/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java index b71f9f706..f4e3de829 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/ssa/TypeSafeInstructionFactory.java @@ -52,6 +52,7 @@ import com.ibm.wala.classLoader.NewSiteReference; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.shrikeBT.IConditionalBranchInstruction; import com.ibm.wala.shrikeBT.IInvokeInstruction; +import com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod; import com.ibm.wala.ssa.SSAAbstractInvokeInstruction; import com.ibm.wala.ssa.SSAArrayLoadInstruction; import com.ibm.wala.ssa.SSAArrayStoreInstruction; @@ -101,7 +102,7 @@ public class TypeSafeInstructionFactory { * * Calls result.setAssigned() * - * @see com.ibm.wala.classLoader.JavaLanguage.JavaInstructionFactory#InvokeInstruction(int, int, int[], int, CallSiteReference, com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod) + * @see com.ibm.wala.classLoader.JavaLanguage.JavaInstructionFactory#InvokeInstruction(int, int, int[], int, CallSiteReference, BootstrapMethod) * * @param iindex Zero or a positive number unique to any instruction of the same method * @param result Where to place the return-value of the called method. Is SSAValue.setAssigned() automatically. @@ -214,7 +215,7 @@ public class TypeSafeInstructionFactory { * All parameters (but exception) are typechecked first. If the check passes they get unpacked and handed over * to the corresponding JavaInstructionFactory.InvokeInstruction. * - * @see com.ibm.wala.classLoader.JavaLanguage.JavaInstructionFactory#InvokeInstruction(int, int[], int, CallSiteReference, com.ibm.wala.shrikeCT.BootstrapMethodsReader.BootstrapMethod) + * @see com.ibm.wala.classLoader.JavaLanguage.JavaInstructionFactory#InvokeInstruction(int, int[], int, CallSiteReference, BootstrapMethod) * * @param iindex Zero or a positive number unique to any instruction of the same method * @param params Parameters to the call starting with the implicit this-pointer if necessary diff --git a/com.ibm.wala.dalvik.test/.classpath b/com.ibm.wala.dalvik.test/.classpath new file mode 100644 index 000000000..b31dd2278 --- /dev/null +++ b/com.ibm.wala.dalvik.test/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/com.ibm.wala.dalvik.test/.gitignore b/com.ibm.wala.dalvik.test/.gitignore index e4852a47a..12c18d4ed 100644 --- a/com.ibm.wala.dalvik.test/.gitignore +++ b/com.ibm.wala.dalvik.test/.gitignore @@ -1,2 +1 @@ /lib/ -/test_jar.jar diff --git a/com.ibm.wala.dalvik.test/.project b/com.ibm.wala.dalvik.test/.project new file mode 100644 index 000000000..741fa3f33 --- /dev/null +++ b/com.ibm.wala.dalvik.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.dalvik.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF b/com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF index 7c78df629..9bd56c783 100644 --- a/com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.dalvik.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Activator: com.ibm.wala.dalvik.test.Activator Bundle-Vendor: %Bundle-Vendor Require-Bundle: org.eclipse.core.runtime, diff --git a/com.ibm.wala.dalvik.test/build.gradle b/com.ibm.wala.dalvik.test/build.gradle deleted file mode 100644 index a80780dc5..000000000 --- a/com.ibm.wala.dalvik.test/build.gradle +++ /dev/null @@ -1,160 +0,0 @@ -sourceSets.test { - java.srcDirs = ['source'] - resources.srcDirs = [ - 'data', - project(':com.ibm.wala.core.testdata').compileTestJava, - ] -} - -def osName = System.getProperty('os.name') -ext.isWindows = osName.startsWith('Windows ') - -task downloadDroidBench(type: VerifiedDownload) { - src 'https://codeload.github.com/secure-software-engineering/DroidBench/zip/DroidBench_2.0' - dest "$temporaryDir/DroidBench_2.0.zip" - checksum '16726a48329835140e14f18470a1b4a3' -} - -task unpackDroidBench(type: Sync, dependsOn: downloadDroidBench) { - from(zipTree(downloadDroidBench.dest)) { - eachFile { - relativePath new RelativePath(!directory, relativePath.segments[1..-1] as String[]) - } - } - - into '/tmp/DroidBench' - includeEmptyDirs false -} - -task downloadAndroidSdk(type: VerifiedDownload) { - def sdkOs - switch (osName) { - case ~/Linux/: - sdkOs = 'linux' - checksum '444e22ce8ca0f67353bda4b85175ed3731cae3ffa695ca18119cbacef1c1bea0' - break - case ~/Mac OS X/: - sdkOs = 'darwin' - checksum '4a81754a760fce88cba74d69c364b05b31c53d57b26f9f82355c61d5fe4b9df9' - break - case ~/Windows.*/: - sdkOs = 'windows' - checksum '7f6037d3a7d6789b4fdc06ee7af041e071e9860c51f66f7a4eb5913df9871fd2' - break - } - def archive = "sdk-tools-$sdkOs-3859397.zip" - src "https://dl.google.com/android/repository/$archive" - dest "$temporaryDir/$archive" - algorithm 'SHA-256' -} - -task installAndroidSdk(type: Sync, dependsOn: downloadAndroidSdk) { - from zipTree(downloadAndroidSdk.dest) - into temporaryDir - - def buildToolsVersion = '26.0.2' - ext { - components = [ - 'build-tools': buildToolsVersion, - 'platforms': "android-${buildToolsVersion.tokenize('.')[0]}" - ] - } - - doLast { - exec { - def shell, shellFlags, yes, semicolon, discard - if (project.isWindows) { - shell = 'PowerShell' - shellFlags = '-Command' - yes = 'echo y' - semicolon = '`;' - discard = '$null' - } else { - shell = 'sh' - shellFlags = '-ceu' - yes = 'yes 2>/dev/null' - semicolon = /\;/ - discard = '/dev/null' - } - - def componentArgs = components.collect { "$it.key$semicolon$it.value" }.join ' ' - commandLine shell, shellFlags, "$yes | $temporaryDir/tools/bin/sdkmanager $componentArgs >$discard" - } - } - outputs.cacheIf { true } -} - -task copyDxJar(type: Sync, dependsOn: installAndroidSdk) { - from "${files(installAndroidSdk).singleFile}/build-tools/${installAndroidSdk.components['build-tools']}/lib/dx.jar" - into 'lib' -} - -clean.dependsOn cleanCopyDxJar - -compileTestJava.dependsOn copyDxJar -afterEclipseBuildshipImport.dependsOn copyDxJar - -task copyAndroidJar(type: Sync, dependsOn: installAndroidSdk) { - from "${installAndroidSdk.destinationDir}/platforms/${installAndroidSdk.components['platforms']}/android.jar" - into temporaryDir -} - -task downloadSampleCup(type: VerifiedDownload) { - src 'http://www.cc.gatech.edu/gvu/people/faculty/hudson/java_cup/classes.v0.9e/java_cup/parser.cup' - dest 'data/sample.cup' - checksum '76b549e7c6e802b811a374248175ecf4' -} - -clean.dependsOn cleanDownloadSampleCup - -task downloadSampleLex(type: VerifiedDownload) { - src 'https://www.cs.princeton.edu/~appel/modern/java/JLex/current/sample.lex' - dest 'data/sample.lex' - checksum 'ae887758b2657981d023a72a165da830' -} - -clean.dependsOn cleanDownloadSampleLex - -dependencies { - testCompile( - 'junit:junit:4.11', - 'org.osgi:org.osgi.core:4.2.0', - files("${copyDxJar.destinationDir}/dx.jar"), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.dalvik'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - ) - testRuntime files("${copyAndroidJar.destinationDir}/android.jar") -} - -processTestResources { - from copyAndroidJar - from downloadSampleCup - from downloadSampleLex - - def testdata = project(':com.ibm.wala.core.testdata') - from testdata.collectJLex - from testdata.collectTestDataA - from testdata.downloadJavaCup -} - -if (isWindows) - test.exclude '**/droidbench/**' -else - processTestResources.dependsOn unpackDroidBench - -test { - maxHeapSize = '800M' -} - -task cleanTest(type: Delete) { - delete( - 'parser.java', - 'report', - 'sym.java', - ) -} - -clean.dependsOn cleanTest diff --git a/com.ibm.wala.dalvik.test/pom.xml b/com.ibm.wala.dalvik.test/pom.xml index 4d77d0287..4c2fae6ab 100644 --- a/com.ibm.wala.dalvik.test/pom.xml +++ b/com.ibm.wala.dalvik.test/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.dalvik.test eclipse-plugin diff --git a/com.ibm.wala.dalvik/.classpath b/com.ibm.wala.dalvik/.classpath new file mode 100644 index 000000000..5306cac98 --- /dev/null +++ b/com.ibm.wala.dalvik/.classpath @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/com.ibm.wala.dalvik/.project b/com.ibm.wala.dalvik/.project new file mode 100644 index 000000000..62b1ec3d1 --- /dev/null +++ b/com.ibm.wala.dalvik/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.dalvik + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.dalvik/META-INF/MANIFEST.MF b/com.ibm.wala.dalvik/META-INF/MANIFEST.MF index ce5dc1d6b..bc3d9aa10 100644 --- a/com.ibm.wala.dalvik/META-INF/MANIFEST.MF +++ b/com.ibm.wala.dalvik/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.dalvik -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Require-Bundle: com.ibm.wala.core;bundle-version="1.1.3", com.ibm.wala.shrike;bundle-version="1.3.1", com.ibm.wala.cast;bundle-version="1.0.0" diff --git a/com.ibm.wala.dalvik/build.gradle b/com.ibm.wala.dalvik/build.gradle deleted file mode 100644 index 241109b32..000000000 --- a/com.ibm.wala.dalvik/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -sourceSets.main.java.srcDirs = ['src'] - -dependencies { - compile( - 'org.slf4j:slf4j-api:1.7.2', - 'org.smali:dexlib2:2.2.1', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} - -task createPackageList(type: CreatePackageList) { - sourceSet sourceSets.main.java -} - -javadoc { - dependsOn createPackageList - options.linksOffline outputDirectory.path, createPackageList.packageList.parent -} diff --git a/com.ibm.wala.dalvik/mvncentral.xml b/com.ibm.wala.dalvik/mvncentral.xml index c829ea6d7..01afba755 100644 --- a/com.ibm.wala.dalvik/mvncentral.xml +++ b/com.ibm.wala.dalvik/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.dalvik - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA Dalvik WALA Dalvik frontend @@ -45,27 +45,27 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.cast - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT commons-io diff --git a/com.ibm.wala.dalvik/pom.xml b/com.ibm.wala.dalvik/pom.xml index 13435b471..84cf2ed56 100644 --- a/com.ibm.wala.dalvik/pom.xml +++ b/com.ibm.wala.dalvik/pom.xml @@ -6,7 +6,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.dalvik eclipse-plugin diff --git a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexFileModule.java b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexFileModule.java index c20383b3d..42e294fd5 100644 --- a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexFileModule.java +++ b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexFileModule.java @@ -49,7 +49,6 @@ package com.ibm.wala.dalvik.classLoader; import java.io.File; import java.io.IOException; -import java.nio.file.Files; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; @@ -84,12 +83,12 @@ public class DexFileModule implements Module { } } - private static File tf(JarFile f) throws IOException { + private static File tf(JarFile f) { String name = f.getName(); if (name.indexOf('/') >= 0) { name = name.substring(name.lastIndexOf('/')+1); } - File tf = Files.createTempFile("name", "_classes.dex").toFile(); + File tf = new File(System.getProperty("java.io.tmpdir") + "/" + name + "_classes.dex"); tf.deleteOnExit(); System.err.println("using " + tf); return tf; diff --git a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/androidModel/structure/AbstractAndroidModel.java b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/androidModel/structure/AbstractAndroidModel.java index 85f7048cc..07dd3903d 100644 --- a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/androidModel/structure/AbstractAndroidModel.java +++ b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/androidModel/structure/AbstractAndroidModel.java @@ -159,7 +159,7 @@ public abstract class AbstractAndroidModel { * * This function is expected to be called on entrypoints in ascending order. * - * You are expected to call {@link #enter(com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.ExecutionOrder, int)} iff a + * You are expected to call {@link #enter(ExecutionOrder, int)} iff a * Label got skipped over. * * @param order The entrypoint in question diff --git a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/impl/AndroidEntryPoint.java b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/impl/AndroidEntryPoint.java index 0059351fc..782cdbcfa 100644 --- a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/impl/AndroidEntryPoint.java +++ b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/impl/AndroidEntryPoint.java @@ -214,7 +214,7 @@ public class AndroidEntryPoint extends DexEntryPoint { * Unrecommended way to generate the Order based on an Integer. * * This method is handy when reading back files. In your code you should prefer the methods - * {@link #after(com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder)} and {@link #between(com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder, com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder)}. + * {@link #after(IExecutionOrder)} and {@link #between(IExecutionOrder, IExecutionOrder)}. */ public ExecutionOrder(int val) { this.value=val; @@ -264,7 +264,7 @@ public class AndroidEntryPoint extends DexEntryPoint { * Use this to place a call to an EntryPoint between two other EntryPoint calls or ExecutionOrder "labels". * between() does not care about section-boundaries by itself! * - * Use {@link #between(com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder[], com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder[])} and use labels as additional placement-information + * Use {@link #between(IExecutionOrder[], IExecutionOrder[])} and use labels as additional placement-information * to prevent unexpected misplacement. * * @param after the call or "label" to be executed before this one @@ -299,7 +299,7 @@ public class AndroidEntryPoint extends DexEntryPoint { * This method is intended to be more robust when changing the position-information of referred-to * ExecutionOrders. * - * In any other means it behaves exactly like {@link #between(com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder, com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder)}. + * In any other means it behaves exactly like {@link #between(IExecutionOrder, IExecutionOrder)}. * * @param after the calls or "labels" to be executed before this one * @param before the calls or "labels" to be executed after this one (inclusive) @@ -359,7 +359,7 @@ public class AndroidEntryPoint extends DexEntryPoint { } /** - * Prefer {@link #after(com.ibm.wala.dalvik.ipa.callgraph.impl.AndroidEntryPoint.IExecutionOrder)} whenever possible. + * Prefer {@link #after(IExecutionOrder)} whenever possible. */ public static ExecutionOrder after (int after) { return between(after, ((after / (Integer.MAX_VALUE / 8)) + 1) * (Integer.MAX_VALUE / 8)); diff --git a/com.ibm.wala.ide.jdt.test/.classpath b/com.ibm.wala.ide.jdt.test/.classpath new file mode 100644 index 000000000..0765cbb5b --- /dev/null +++ b/com.ibm.wala.ide.jdt.test/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/com.ibm.wala.ide.jdt.test/.project b/com.ibm.wala.ide.jdt.test/.project new file mode 100644 index 000000000..82bcfaa91 --- /dev/null +++ b/com.ibm.wala.ide.jdt.test/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.ide.jdt.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs index 897b1907c..87e961b5e 100644 --- a/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs @@ -8,7 +8,7 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annota org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 @@ -18,23 +18,22 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.APILeak=error org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=ignore -org.eclipse.jdt.core.compiler.problem.deadCode=ignore +org.eclipse.jdt.core.compiler.problem.autoboxing=error +org.eclipse.jdt.core.compiler.problem.comparingIdentical=error +org.eclipse.jdt.core.compiler.problem.deadCode=warning org.eclipse.jdt.core.compiler.problem.deprecation=error org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled org.eclipse.jdt.core.compiler.problem.discouragedReference=error -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.emptyStatement=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=error org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore +org.eclipse.jdt.core.compiler.problem.fieldHiding=error +org.eclipse.jdt.core.compiler.problem.finalParameterBound=error org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error @@ -49,10 +48,10 @@ org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public @@ -60,42 +59,41 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=error org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=error org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=ignore +org.eclipse.jdt.core.compiler.problem.nullReference=error org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=error org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.parameterAssignment=error org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=error org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.potentialNullReference=error org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=error -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=error org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=error +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=error org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error @@ -103,25 +101,25 @@ org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=error org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedImport=error org.eclipse.jdt.core.compiler.problem.unusedLabel=error -org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedLocal=error +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error +org.eclipse.jdt.core.compiler.problem.unusedParameter=error org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=error org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 diff --git a/com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF b/com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF index 76b2eab8c..202f89646 100644 --- a/com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF +++ b/com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.ide.jdt.test -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Activator: com.ibm.wala.cast.java.jdt.test.Activator Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.cast.java.test;bundle-version="1.0.0", diff --git a/com.ibm.wala.ide.jdt.test/build.gradle b/com.ibm.wala.ide.jdt.test/build.gradle deleted file mode 100644 index 4358d7ff3..000000000 --- a/com.ibm.wala.ide.jdt.test/build.gradle +++ /dev/null @@ -1,39 +0,0 @@ -sourceSets.test { - java.srcDirs = ['source'] - resources.srcDirs = ['testdata'] -} - -dependencies { - testCompile( - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.jdt.core:+', - 'eclipse-deps:org.eclipse.osgi:+', - 'junit:junit:4.11', - 'org.osgi:org.osgi.core:4.2.0', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.java'), - project(':com.ibm.wala.cast.java.ecj'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.ide'), - project(':com.ibm.wala.ide.jdt'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.cast.java.test'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - project(configuration: 'testArchives', path: ':com.ibm.wala.ide.tests'), - ) - testRuntime( - 'eclipse-deps:org.eclipse.core.contenttype:+', - 'eclipse-deps:org.eclipse.equinox.preferences:+', - ) -} - -test { - maxHeapSize = '1200M' - - // https://github.com/liblit/WALA/issues/5 - exclude '**/JDTJava15IRTests.class' - exclude '**/JDTJavaIRTests.class' - - workingDir project(':com.ibm.wala.cast.java.test.data').projectDir -} diff --git a/com.ibm.wala.ide.jdt.test/build.properties b/com.ibm.wala.ide.jdt.test/build.properties index 6648362f9..1c3d4a8eb 100644 --- a/com.ibm.wala.ide.jdt.test/build.properties +++ b/com.ibm.wala.ide.jdt.test/build.properties @@ -1,5 +1,5 @@ source.. = source/,\ - testdata/ + data/ output.. = bin/ bin.includes = META-INF/,\ .,\ diff --git a/com.ibm.wala.ide.jdt.test/launchers/ECJJavaIRTest.launch b/com.ibm.wala.ide.jdt.test/launchers/ECJJavaIRTest.launch index 7b1538a43..d56e5d121 100644 --- a/com.ibm.wala.ide.jdt.test/launchers/ECJJavaIRTest.launch +++ b/com.ibm.wala.ide.jdt.test/launchers/ECJJavaIRTest.launch @@ -11,7 +11,6 @@ - diff --git a/com.ibm.wala.ide.jdt.test/pom.xml b/com.ibm.wala.ide.jdt.test/pom.xml index 9b6effb1c..60fafd068 100644 --- a/com.ibm.wala.ide.jdt.test/pom.xml +++ b/com.ibm.wala.ide.jdt.test/pom.xml @@ -6,7 +6,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT diff --git a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java index 3ca220f1d..a6674f010 100644 --- a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java +++ b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java @@ -163,7 +163,7 @@ public class DemandCastChecker { return fullDemandPointsTo; } - private static String getExclusions(String benchName) { + private static String getExclusions(@SuppressWarnings("unused") String benchName) { return CallGraphTestUtil.REGRESSION_EXCLUSIONS; } @@ -208,6 +208,7 @@ public class DemandCastChecker { return Pair.make(retCG, retPA); } + @SuppressWarnings("unused") private static RefinementPolicyFactory chooseRefinePolicyFactory(ClassHierarchy cha) { if (true) { return new TunedRefinementPolicy.Factory(cha); diff --git a/com.ibm.wala.ide.jdt/.classpath b/com.ibm.wala.ide.jdt/.classpath new file mode 100644 index 000000000..3b43e981f --- /dev/null +++ b/com.ibm.wala.ide.jdt/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.ide.jdt/.project b/com.ibm.wala.ide.jdt/.project new file mode 100644 index 000000000..b0fb255ad --- /dev/null +++ b/com.ibm.wala.ide.jdt/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.ide.jdt + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.ide.jdt/META-INF/MANIFEST.MF b/com.ibm.wala.ide.jdt/META-INF/MANIFEST.MF index 123179229..fd19b79ff 100644 --- a/com.ibm.wala.ide.jdt/META-INF/MANIFEST.MF +++ b/com.ibm.wala.ide.jdt/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.ide.jdt -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Activator: com.ibm.wala.ide.jdt.Activator Bundle-Vendor: %Bundle-Vendor Require-Bundle: org.eclipse.ui, diff --git a/com.ibm.wala.ide.jdt/build.gradle b/com.ibm.wala.ide.jdt/build.gradle deleted file mode 100644 index d7dda15af..000000000 --- a/com.ibm.wala.ide.jdt/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -sourceSets.main.java.srcDirs = ['source'] - -dependencies { - compile( - 'eclipse-deps:org.eclipse.core.jobs:+', - 'eclipse-deps:org.eclipse.core.resources:+', - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.equinox.app:+', - 'eclipse-deps:org.eclipse.equinox.common:+', - 'eclipse-deps:org.eclipse.jdt.core:+', - 'eclipse-deps:org.eclipse.jface:+', - 'eclipse-deps:org.eclipse.osgi:+', - 'eclipse-deps:org.eclipse.ui.workbench:+', - 'org.osgi:org.osgi.core:4.2.0', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.java'), - project(':com.ibm.wala.cast.java.ecj'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.ide'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.ide.jdt/pom.xml b/com.ibm.wala.ide.jdt/pom.xml index 72687d31e..5a9fe18fc 100644 --- a/com.ibm.wala.ide.jdt/pom.xml +++ b/com.ibm.wala.ide.jdt/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.ide.jdt eclipse-plugin diff --git a/com.ibm.wala.ide.jsdt.tests/.classpath b/com.ibm.wala.ide.jsdt.tests/.classpath new file mode 100644 index 000000000..01836c484 --- /dev/null +++ b/com.ibm.wala.ide.jsdt.tests/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.ide.jsdt.tests/.project b/com.ibm.wala.ide.jsdt.tests/.project new file mode 100644 index 000000000..7d435fadc --- /dev/null +++ b/com.ibm.wala.ide.jsdt.tests/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.ide.jsdt.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs index 29b67ed73..9f91c7ae4 100644 --- a/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs @@ -18,7 +18,6 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.APILeak=warning org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=error @@ -36,7 +35,7 @@ org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.fieldHiding=error org.eclipse.jdt.core.compiler.problem.finalParameterBound=error org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error @@ -91,7 +90,6 @@ org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error diff --git a/com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF b/com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF index dd2010426..342706a5f 100644 --- a/com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF +++ b/com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.ide.jsdt.tests;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Require-Bundle: com.ibm.wala.core;bundle-version="1.1.3", com.ibm.wala.cast;bundle-version="1.0.0", com.ibm.wala.cast.js;bundle-version="1.0.0", diff --git a/com.ibm.wala.ide.jsdt.tests/build.gradle b/com.ibm.wala.ide.jsdt.tests/build.gradle deleted file mode 100644 index 0202e09eb..000000000 --- a/com.ibm.wala.ide.jsdt.tests/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -sourceSets.test { - java.srcDirs = ['src'] - resources.srcDirs = ['testdata'] -} - -dependencies { - testCompile( - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.equinox.common:+', - 'eclipse-deps:org.eclipse.osgi:+', - 'junit:junit:4.11', - 'org.osgi:org.osgi.core:4.2.0', - 'wst-deps:org.eclipse.wst.jsdt.core:+', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.cast.js.rhino'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.ide.jsdt'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.ide.tests'), - ) -} - -test { - // https://github.com/liblit/WALA/issues/5 - exclude '**/JSProjectScopeTest.class' -} diff --git a/com.ibm.wala.ide.jsdt.tests/launchers/JSProjectScopeTest.launch b/com.ibm.wala.ide.jsdt.tests/launchers/JSProjectScopeTest.launch index c36e8c1aa..d22ee01c7 100644 --- a/com.ibm.wala.ide.jsdt.tests/launchers/JSProjectScopeTest.launch +++ b/com.ibm.wala.ide.jsdt.tests/launchers/JSProjectScopeTest.launch @@ -11,7 +11,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -36,8 +36,8 @@ - - + + diff --git a/com.ibm.wala.ide.jsdt.tests/launchers/com.ibm.wala.ide.jsdt.tests.launch b/com.ibm.wala.ide.jsdt.tests/launchers/com.ibm.wala.ide.jsdt.tests.launch index 5854fc4c4..c32eeee38 100644 --- a/com.ibm.wala.ide.jsdt.tests/launchers/com.ibm.wala.ide.jsdt.tests.launch +++ b/com.ibm.wala.ide.jsdt.tests/launchers/com.ibm.wala.ide.jsdt.tests.launch @@ -15,7 +15,7 @@ - + @@ -41,10 +41,10 @@ - - - + + + @@ -65,8 +65,8 @@ - - + + diff --git a/com.ibm.wala.ide.jsdt.tests/pom.xml b/com.ibm.wala.ide.jsdt.tests/pom.xml index 4647e49a7..edde8434c 100644 --- a/com.ibm.wala.ide.jsdt.tests/pom.xml +++ b/com.ibm.wala.ide.jsdt.tests/pom.xml @@ -6,7 +6,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.ide.jsdt.tests diff --git a/com.ibm.wala.ide.jsdt/.classpath b/com.ibm.wala.ide.jsdt/.classpath new file mode 100644 index 000000000..72333afef --- /dev/null +++ b/com.ibm.wala.ide.jsdt/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.ide.jsdt/.project b/com.ibm.wala.ide.jsdt/.project new file mode 100644 index 000000000..e7e1000b2 --- /dev/null +++ b/com.ibm.wala.ide.jsdt/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.ide.jsdt + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.ide.jsdt/META-INF/MANIFEST.MF b/com.ibm.wala.ide.jsdt/META-INF/MANIFEST.MF index b5986cb75..54051f85a 100644 --- a/com.ibm.wala.ide.jsdt/META-INF/MANIFEST.MF +++ b/com.ibm.wala.ide.jsdt/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.ide.jsdt -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Activator: com.ibm.wala.ide.jsdt.Activator Bundle-Vendor: %Bundle-Vendor Require-Bundle: org.eclipse.core.runtime, diff --git a/com.ibm.wala.ide.jsdt/build.gradle b/com.ibm.wala.ide.jsdt/build.gradle deleted file mode 100644 index 809c0f5c0..000000000 --- a/com.ibm.wala.ide.jsdt/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -sourceSets.main.java.srcDirs = ['source'] - -dependencies { - compile( - 'eclipse-deps:org.eclipse.core.resources:+', - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.equinox.common:+', - 'eclipse-deps:org.eclipse.osgi:+', - 'eclipse-deps:org.eclipse.ui.workbench:+', - 'wst-deps:org.eclipse.wst.jsdt.core:+', - 'wst-deps:org.eclipse.wst.jsdt.ui:+', - project(':com.ibm.wala.cast'), - project(':com.ibm.wala.cast.js'), - project(':com.ibm.wala.cast.js.rhino'), - project(':com.ibm.wala.core'), - project(':com.ibm.wala.ide'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.ide.jsdt/pom.xml b/com.ibm.wala.ide.jsdt/pom.xml index 115d27750..06412a43b 100644 --- a/com.ibm.wala.ide.jsdt/pom.xml +++ b/com.ibm.wala.ide.jsdt/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.ide.jsdt eclipse-plugin diff --git a/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JsdtUtil.java b/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JsdtUtil.java index 4c0e794ab..a0d648ad0 100644 --- a/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JsdtUtil.java +++ b/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JsdtUtil.java @@ -59,6 +59,7 @@ import com.ibm.wala.util.collections.Pair; import com.ibm.wala.util.graph.Graph; import com.ibm.wala.util.graph.impl.SlowSparseNumberedGraph; +@SuppressWarnings("restriction") public class JsdtUtil { public static URL getPrologueFile(String file, Plugin plugin) { diff --git a/com.ibm.wala.ide.tests/.classpath b/com.ibm.wala.ide.tests/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.ide.tests/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.ide.tests/.project b/com.ibm.wala.ide.tests/.project new file mode 100644 index 000000000..ab89b3371 --- /dev/null +++ b/com.ibm.wala.ide.tests/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.ide.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs index 32b41283b..929890dee 100644 --- a/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs @@ -17,7 +17,6 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.APILeak=warning org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=error @@ -35,7 +34,7 @@ org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.fieldHiding=error org.eclipse.jdt.core.compiler.problem.finalParameterBound=error org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error @@ -91,7 +90,6 @@ org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error diff --git a/com.ibm.wala.ide.tests/META-INF/MANIFEST.MF b/com.ibm.wala.ide.tests/META-INF/MANIFEST.MF index 8ac780117..707b5d0b4 100644 --- a/com.ibm.wala.ide.tests/META-INF/MANIFEST.MF +++ b/com.ibm.wala.ide.tests/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.wala.ide.tests;singleton:=true -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %providerName Require-Bundle: com.ibm.wala.shrike, com.ibm.wala.core, com.ibm.wala.ide, - com.ibm.wala.ide.jdt;bundle-version="1.5.0.qualifier", + com.ibm.wala.ide.jdt;bundle-version="1.4.4.qualifier", com.ibm.wala.core.tests, org.eclipse.core.runtime, org.eclipse.core.resources, diff --git a/com.ibm.wala.ide.tests/build.gradle b/com.ibm.wala.ide.tests/build.gradle deleted file mode 100644 index 63f266b7b..000000000 --- a/com.ibm.wala.ide.tests/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -apply plugin: 'com.github.hauner.jarTest' -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.test.java.srcDirs = ['src'] - -dependencies { - testCompile( - 'eclipse-deps:org.eclipse.core.resources:+', - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.equinox.common:+', - 'eclipse-deps:org.eclipse.jface:+', - 'eclipse-deps:org.eclipse.osgi:+', - 'eclipse-deps:org.eclipse.ui.ide:+', - 'eclipse-deps:org.eclipse.ui.workbench:+', - 'org.osgi:org.osgi.core:4.2.0', - project(':com.ibm.wala.core'), - project(':com.ibm.wala.ide'), - project(':com.ibm.wala.util'), - project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), - ) - testRuntime project(':com.ibm.wala.ide.jdt') -} diff --git a/com.ibm.wala.ide.tests/build.properties b/com.ibm.wala.ide.tests/build.properties index 94a8e7664..d20cc39b5 100644 --- a/com.ibm.wala.ide.tests/build.properties +++ b/com.ibm.wala.ide.tests/build.properties @@ -1,5 +1,5 @@ source.. = src/, -output.. = bin/test +output.. = bin/ bin.includes = META-INF/,\ .,\ plugin.xml,\ diff --git a/com.ibm.wala.ide.tests/launchers/IFDSExplorerExample.launch b/com.ibm.wala.ide.tests/launchers/IFDSExplorerExample.launch index f56cf1bcd..f31007ee9 100644 --- a/com.ibm.wala.ide.tests/launchers/IFDSExplorerExample.launch +++ b/com.ibm.wala.ide.tests/launchers/IFDSExplorerExample.launch @@ -14,7 +14,6 @@ - diff --git a/com.ibm.wala.ide.tests/launchers/SWTCallGraph - OCaml - ipascal.launch b/com.ibm.wala.ide.tests/launchers/SWTCallGraph - OCaml - ipascal.launch index 2a221fbdd..82ee595e0 100644 --- a/com.ibm.wala.ide.tests/launchers/SWTCallGraph - OCaml - ipascal.launch +++ b/com.ibm.wala.ide.tests/launchers/SWTCallGraph - OCaml - ipascal.launch @@ -6,7 +6,6 @@ - diff --git a/com.ibm.wala.ide.tests/launchers/SWTCallGraph.launch b/com.ibm.wala.ide.tests/launchers/SWTCallGraph.launch index d356d1849..78d71de8d 100644 --- a/com.ibm.wala.ide.tests/launchers/SWTCallGraph.launch +++ b/com.ibm.wala.ide.tests/launchers/SWTCallGraph.launch @@ -7,9 +7,8 @@ - - + diff --git a/com.ibm.wala.ide.tests/launchers/SWTPointsTo.launch b/com.ibm.wala.ide.tests/launchers/SWTPointsTo.launch index 3cb2e2520..8e4a8d3a4 100644 --- a/com.ibm.wala.ide.tests/launchers/SWTPointsTo.launch +++ b/com.ibm.wala.ide.tests/launchers/SWTPointsTo.launch @@ -6,9 +6,8 @@ - - + diff --git a/com.ibm.wala.ide.tests/launchers/SWTTypeHierarchy.launch b/com.ibm.wala.ide.tests/launchers/SWTTypeHierarchy.launch index 7c8fa91af..d48ab3670 100644 --- a/com.ibm.wala.ide.tests/launchers/SWTTypeHierarchy.launch +++ b/com.ibm.wala.ide.tests/launchers/SWTTypeHierarchy.launch @@ -6,9 +6,8 @@ - - + diff --git a/com.ibm.wala.ide.tests/pom.xml b/com.ibm.wala.ide.tests/pom.xml index 9982fa549..aa2607266 100644 --- a/com.ibm.wala.ide.tests/pom.xml +++ b/com.ibm.wala.ide.tests/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.ide.tests eclipse-plugin diff --git a/com.ibm.wala.ide/.classpath b/com.ibm.wala.ide/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.ide/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.ide/.project b/com.ibm.wala.ide/.project new file mode 100644 index 000000000..faece03a3 --- /dev/null +++ b/com.ibm.wala.ide/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.ide + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.ide/META-INF/MANIFEST.MF b/com.ibm.wala.ide/META-INF/MANIFEST.MF index caca9a9f8..8b622f71a 100644 --- a/com.ibm.wala.ide/META-INF/MANIFEST.MF +++ b/com.ibm.wala.ide/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Eclipse-LazyStart: true Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.wala.ide -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Activator: com.ibm.wala.ide.plugin.CorePlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/com.ibm.wala.ide/build.gradle b/com.ibm.wala.ide/build.gradle deleted file mode 100644 index 454dd3995..000000000 --- a/com.ibm.wala.ide/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.main.java.srcDirs = ['src'] - -dependencies { - compile( - 'eclipse-deps:org.eclipse.core.commands:+', - 'eclipse-deps:org.eclipse.core.jobs:+', - 'eclipse-deps:org.eclipse.core.resources:+', - 'eclipse-deps:org.eclipse.core.runtime:+', - 'eclipse-deps:org.eclipse.equinox.common:+', - 'eclipse-deps:org.eclipse.jdt.core:+', - 'eclipse-deps:org.eclipse.jface:+', - 'eclipse-deps:org.eclipse.osgi:+', - 'eclipse-deps:org.eclipse.pde.core:+', - 'eclipse-deps:org.eclipse.swt.${osgi.platform}:+', - 'eclipse-deps:org.eclipse.ui.workbench:+', - project(':com.ibm.wala.core'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.ide/build.properties b/com.ibm.wala.ide/build.properties index bbea0a1a3..06ebbff3b 100644 --- a/com.ibm.wala.ide/build.properties +++ b/com.ibm.wala.ide/build.properties @@ -3,5 +3,5 @@ bin.includes = META-INF/,\ plugin.properties jars.compile.order = . source.. = src/ -output.. = bin/main +output.. = bin/ javacProjectSettings = true diff --git a/com.ibm.wala.ide/pom.xml b/com.ibm.wala.ide/pom.xml index 91e55b302..1a583ace1 100644 --- a/com.ibm.wala.ide/pom.xml +++ b/com.ibm.wala.ide/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.ide eclipse-plugin diff --git a/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java b/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java index 976419a6d..826c8f8bc 100644 --- a/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java +++ b/com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java @@ -60,6 +60,7 @@ import com.ibm.wala.util.debug.Assertions; * SOURCE_FOR_PROJ_AND_LINKED_PROJS is specified. * */ +@SuppressWarnings("restriction") public abstract class EclipseProjectPath { protected abstract P makeProject(IProject p); diff --git a/com.ibm.wala.ide_feature/.project b/com.ibm.wala.ide_feature/.project new file mode 100644 index 000000000..6b957cabe --- /dev/null +++ b/com.ibm.wala.ide_feature/.project @@ -0,0 +1,17 @@ + + + com.ibm.wala.ide_feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/com.ibm.wala.ide_feature/feature.xml b/com.ibm.wala.ide_feature/feature.xml index c222bfd17..4732ec536 100644 --- a/com.ibm.wala.ide_feature/feature.xml +++ b/com.ibm.wala.ide_feature/feature.xml @@ -2,7 +2,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.ide_feature eclipse-feature diff --git a/com.ibm.wala.scandroid/.classpath b/com.ibm.wala.scandroid/.classpath new file mode 100644 index 000000000..3b43e981f --- /dev/null +++ b/com.ibm.wala.scandroid/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.scandroid/.project b/com.ibm.wala.scandroid/.project new file mode 100644 index 000000000..b122a8155 --- /dev/null +++ b/com.ibm.wala.scandroid/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.scandroid + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs index 474bdc4c2..10cf5621c 100644 --- a/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs @@ -11,7 +11,6 @@ org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.APILeak=warning org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=ignore @@ -29,7 +28,7 @@ org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.fieldHiding=error org.eclipse.jdt.core.compiler.problem.finalParameterBound=error org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error @@ -77,7 +76,6 @@ org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error diff --git a/com.ibm.wala.scandroid/META-INF/MANIFEST.MF b/com.ibm.wala.scandroid/META-INF/MANIFEST.MF index 40da0c828..e4bd2f3ac 100644 --- a/com.ibm.wala.scandroid/META-INF/MANIFEST.MF +++ b/com.ibm.wala.scandroid/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.scandroid -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %Bundle-Vendor Require-Bundle: com.ibm.wala.dalvik;bundle-version="1.3.4", com.ibm.wala.core;bundle-version="1.3.4", diff --git a/com.ibm.wala.scandroid/build.gradle b/com.ibm.wala.scandroid/build.gradle deleted file mode 100644 index 9faf093eb..000000000 --- a/com.ibm.wala.scandroid/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -sourceSets.main.java.srcDirs = ['source'] - -dependencies { - compile( - 'com.google.guava:guava:18.0', - 'commons-cli:commons-cli:1.4', - project(':com.ibm.wala.core'), - project(':com.ibm.wala.dalvik'), - project(':com.ibm.wala.shrike'), - project(':com.ibm.wala.util'), - ) -} diff --git a/com.ibm.wala.scandroid/mvncentral.xml b/com.ibm.wala.scandroid/mvncentral.xml index d9ac3a183..b88ea2f60 100644 --- a/com.ibm.wala.scandroid/mvncentral.xml +++ b/com.ibm.wala.scandroid/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.scandroid - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA Scandroid WALA Scandroid taint analysis @@ -45,22 +45,22 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.core - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala com.ibm.wala.dalvik - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.google.guava diff --git a/com.ibm.wala.scandroid/pom.xml b/com.ibm.wala.scandroid/pom.xml index 397a56ca5..44ffcbe9d 100644 --- a/com.ibm.wala.scandroid/pom.xml +++ b/com.ibm.wala.scandroid/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.scandroid eclipse-plugin diff --git a/com.ibm.wala.shrike/.classpath b/com.ibm.wala.shrike/.classpath new file mode 100644 index 000000000..4f83b2397 --- /dev/null +++ b/com.ibm.wala.shrike/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.shrike/.project b/com.ibm.wala.shrike/.project new file mode 100644 index 000000000..92e255dc0 --- /dev/null +++ b/com.ibm.wala.shrike/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.shrike + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/com.ibm.wala.shrike/META-INF/MANIFEST.MF b/com.ibm.wala.shrike/META-INF/MANIFEST.MF index d1ef60b2a..0d78ba177 100644 --- a/com.ibm.wala.shrike/META-INF/MANIFEST.MF +++ b/com.ibm.wala.shrike/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.wala.shrike -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Bundle-Vendor: %providerName Bundle-ActivationPolicy: lazy Bundle-Localization: plugin diff --git a/com.ibm.wala.shrike/build.gradle b/com.ibm.wala.shrike/build.gradle deleted file mode 100644 index 4325db32c..000000000 --- a/com.ibm.wala.shrike/build.gradle +++ /dev/null @@ -1,9 +0,0 @@ -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.main.java.srcDirs = ['src'] - -dependencies { - compile project(':com.ibm.wala.util') -} diff --git a/com.ibm.wala.shrike/build.properties b/com.ibm.wala.shrike/build.properties index bbea0a1a3..06ebbff3b 100644 --- a/com.ibm.wala.shrike/build.properties +++ b/com.ibm.wala.shrike/build.properties @@ -3,5 +3,5 @@ bin.includes = META-INF/,\ plugin.properties jars.compile.order = . source.. = src/ -output.. = bin/main +output.. = bin/ javacProjectSettings = true diff --git a/com.ibm.wala.shrike/mvncentral.xml b/com.ibm.wala.shrike/mvncentral.xml index 981ea4a8e..ee35462f0 100644 --- a/com.ibm.wala.shrike/mvncentral.xml +++ b/com.ibm.wala.shrike/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.shrike - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA Shrike WALA Shrike library for bytecode reading and instrumentation @@ -45,7 +45,7 @@ com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT diff --git a/com.ibm.wala.shrike/pom.xml b/com.ibm.wala.shrike/pom.xml index 270c5e53b..45a3f5133 100644 --- a/com.ibm.wala.shrike/pom.xml +++ b/com.ibm.wala.shrike/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.shrike eclipse-plugin diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java index 7dfbe1dc8..9a57d792f 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/instrumentation/CodeScraper.java @@ -1,12 +1,11 @@ package com.ibm.wala.shrike.instrumentation; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.lang.instrument.Instrumentation; -import java.nio.file.Files; -import java.nio.file.Path; import java.security.ProtectionDomain; import com.ibm.wala.shrikeCT.ClassReader; @@ -16,16 +15,11 @@ import com.ibm.wala.shrikeCT.SourceFileReader; public class CodeScraper implements ClassFileTransformer { - private static final Path prefix; + private static final String prefix = System.getProperty("java.io.tmpdir") + File.separator + "loggedClasses" + File.separator + System.currentTimeMillis(); static { - try { - prefix = Files.createTempDirectory("loggedClasses"); - prefix.toFile().deleteOnExit(); - } catch (final IOException problem) { - throw new RuntimeException(problem); - } System.err.println("scraping to " + prefix); + (new File(prefix)).mkdirs(); } @Override @@ -44,8 +38,9 @@ public class CodeScraper implements ClassFileTransformer { } } if (className == null || sourceFile == null || !sourceFile.endsWith("java") || true) try { - Path log = prefix.resolve(reader.getName() + ".class"); - try (final OutputStream f = Files.newOutputStream(log)) { + String log = prefix + File.separator + reader.getName() + ".class"; + (new File(log)).getParentFile().mkdirs(); + try (final FileOutputStream f = new FileOutputStream(log)) { f.write(classfileBuffer); } } catch (IOException e) { diff --git a/com.ibm.wala.tests.ide_feature/.project b/com.ibm.wala.tests.ide_feature/.project new file mode 100644 index 000000000..9b48674b4 --- /dev/null +++ b/com.ibm.wala.tests.ide_feature/.project @@ -0,0 +1,17 @@ + + + com.ibm.wala.tests.ide_feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/com.ibm.wala.tests.ide_feature/feature.xml b/com.ibm.wala.tests.ide_feature/feature.xml index 91052a24f..68cd538f0 100644 --- a/com.ibm.wala.tests.ide_feature/feature.xml +++ b/com.ibm.wala.tests.ide_feature/feature.xml @@ -2,7 +2,7 @@ + + com.ibm.wala.tests_feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/com.ibm.wala.tests_feature/feature.xml b/com.ibm.wala.tests_feature/feature.xml index f2f37250b..d5cb7f346 100644 --- a/com.ibm.wala.tests_feature/feature.xml +++ b/com.ibm.wala.tests_feature/feature.xml @@ -2,7 +2,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.tests_feature eclipse-feature diff --git a/com.ibm.wala.util/.classpath b/com.ibm.wala.util/.classpath new file mode 100644 index 000000000..01836c484 --- /dev/null +++ b/com.ibm.wala.util/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/com.ibm.wala.util/.project b/com.ibm.wala.util/.project new file mode 100644 index 000000000..dcb1507b3 --- /dev/null +++ b/com.ibm.wala.util/.project @@ -0,0 +1,28 @@ + + + com.ibm.wala.util + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/com.ibm.wala.util/META-INF/MANIFEST.MF b/com.ibm.wala.util/META-INF/MANIFEST.MF index 8f4084e86..b79a47bc9 100644 --- a/com.ibm.wala.util/META-INF/MANIFEST.MF +++ b/com.ibm.wala.util/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: com.ibm.wala.util -Bundle-Version: 1.5.0.qualifier +Bundle-Version: 1.4.4.qualifier Export-Package: com.ibm.wala.dataflow.graph, com.ibm.wala.fixedpoint.impl, com.ibm.wala.fixpoint, diff --git a/com.ibm.wala.util/build.gradle b/com.ibm.wala.util/build.gradle deleted file mode 100644 index fac74fe4b..000000000 --- a/com.ibm.wala.util/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -apply plugin: 'eclipse' - -eclipse.project.natures 'org.eclipse.pde.PluginNature' - -sourceSets.main.java.srcDirs = ['src'] - -javadoc { - def coreCompileJava = project(':com.ibm.wala.core').compileJava - dependsOn coreCompileJava - doFirst { - classpath += files coreCompileJava - } - options.links 'https://docs.oracle.com/javase/8/docs/api/' -} diff --git a/com.ibm.wala.util/build.properties b/com.ibm.wala.util/build.properties index 45d4c0182..07d0abe02 100644 --- a/com.ibm.wala.util/build.properties +++ b/com.ibm.wala.util/build.properties @@ -1,7 +1,8 @@ bin.includes = META-INF/,\ .,\ + OSGI-INF/l10n/bundle.properties,\ OSGI-INF/ jars.compile.order = . source.. = src/ -output.. = bin/main +output.. = bin/ javacProjectSettings = true diff --git a/com.ibm.wala.util/mvncentral.xml b/com.ibm.wala.util/mvncentral.xml index 7040b6c6c..ee771e5da 100644 --- a/com.ibm.wala.util/mvncentral.xml +++ b/com.ibm.wala.util/mvncentral.xml @@ -5,7 +5,7 @@ 4.0.0 com.ibm.wala com.ibm.wala.util - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT jar WALA utilities Utility library included with the T. J. Watson diff --git a/com.ibm.wala.util/pom.xml b/com.ibm.wala.util/pom.xml index a2424b648..e31ffd557 100644 --- a/com.ibm.wala.util/pom.xml +++ b/com.ibm.wala.util/pom.xml @@ -5,7 +5,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.util eclipse-plugin diff --git a/com.ibm.wala_feature/.project b/com.ibm.wala_feature/.project new file mode 100644 index 000000000..0e1918b04 --- /dev/null +++ b/com.ibm.wala_feature/.project @@ -0,0 +1,17 @@ + + + com.ibm.wala_feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/com.ibm.wala_feature/feature.xml b/com.ibm.wala_feature/feature.xml index 1a2fd743f..fe57a5847 100644 --- a/com.ibm.wala_feature/feature.xml +++ b/com.ibm.wala_feature/feature.xml @@ -2,7 +2,7 @@ WALA com.ibm.wala - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala_feature eclipse-feature diff --git a/gradle.properties b/gradle.properties deleted file mode 100644 index aec0a559b..000000000 --- a/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -org.gradle.caching=true -org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index a5fe1cb94b9ee5ce57e6113458225bcba12d83e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54329 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

<5G2M1WZP5 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 \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index e95643d6a..000000000 --- a/gradlew.bat +++ /dev/null @@ -1,84 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/pom.xml b/pom.xml index 528d6dd53..5b6683ccf 100644 --- a/pom.xml +++ b/pom.xml @@ -5,10 +5,10 @@ 4.0.0 com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT pom - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT UTF-8 b000 0.23.1 diff --git a/revert-launchers.sh b/revert-launchers.sh deleted file mode 100755 index cda6a8fe6..000000000 --- a/revert-launchers.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -eu - -cd "$(dirname "$0")" - -# be selective; revert only launchers we think we know about -launchers=(com.ibm.wala.*/launchers/*.launch com.ibm.wala.*/.launchConfigurations/*.launch) - -# if no launchers have changed, then there's nothing for us to do -if git diff --quiet "${launchers[@]}"; then - exit -fi - -# create a backup in case we revert something that we should have left alone -git stash save --quiet 'safety snapshot before reverting launcher changes made by Eclipse Buildship import' -git stash apply --quiet - -# revert launch configurations that Buildship import has mangled -# -git checkout -- "${launchers[@]}" diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 85f9efd68..000000000 --- a/settings.gradle +++ /dev/null @@ -1,37 +0,0 @@ -rootProject.name = 'com.ibm.wala' - -include( - 'com.ibm.wala-repository', - 'com.ibm.wala.cast', - 'com.ibm.wala.cast.java', - 'com.ibm.wala.cast.java.ecj', - 'com.ibm.wala.cast.java.test', - 'com.ibm.wala.cast.java.test.data', - 'com.ibm.wala.cast.js', - 'com.ibm.wala.cast.js.html.nu_validator', - 'com.ibm.wala.cast.js.nodejs', - 'com.ibm.wala.cast.js.nodejs.test', - 'com.ibm.wala.cast.js.rhino', - 'com.ibm.wala.cast.js.rhino.test', - 'com.ibm.wala.cast.js.test', - 'com.ibm.wala.cast.js.test.data', - 'com.ibm.wala.cast.test', - 'com.ibm.wala.core', - 'com.ibm.wala.core.testdata', - 'com.ibm.wala.core.tests', - 'com.ibm.wala.dalvik', - 'com.ibm.wala.dalvik.test', - 'com.ibm.wala.ide', - 'com.ibm.wala.ide.jdt', - 'com.ibm.wala.ide.jdt.test', - 'com.ibm.wala.ide.jsdt', - 'com.ibm.wala.ide.jsdt.tests', - 'com.ibm.wala.ide.tests', - 'com.ibm.wala.ide_feature', - 'com.ibm.wala.scandroid', - 'com.ibm.wala.shrike', - 'com.ibm.wala.tests.ide_feature', - 'com.ibm.wala.tests_feature', - 'com.ibm.wala.util', - 'com.ibm.wala_feature', -) diff --git a/targets/e42/pom.xml b/targets/e42/pom.xml index 836f59d65..1f468ff87 100644 --- a/targets/e42/pom.xml +++ b/targets/e42/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala.target targets - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT e42 eclipse-target-definition diff --git a/targets/e44/pom.xml b/targets/e44/pom.xml index 7f3c4cfa8..a7023b445 100644 --- a/targets/e44/pom.xml +++ b/targets/e44/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala.target targets - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT e44 eclipse-target-definition diff --git a/targets/e46/pom.xml b/targets/e46/pom.xml index 5a44b357d..f696ed918 100644 --- a/targets/e46/pom.xml +++ b/targets/e46/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala.target targets - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT e46 eclipse-target-definition diff --git a/targets/e47/pom.xml b/targets/e47/pom.xml index f4a0c460f..8e7a8d523 100644 --- a/targets/e47/pom.xml +++ b/targets/e47/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala.target targets - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT e47 eclipse-target-definition diff --git a/targets/pom.xml b/targets/pom.xml index 8cfdc8754..b10ba5448 100644 --- a/targets/pom.xml +++ b/targets/pom.xml @@ -5,7 +5,7 @@ com.ibm.wala WALA - 1.5.0-SNAPSHOT + 1.4.4-SNAPSHOT com.ibm.wala.target targets diff --git a/travis/before-cache-gradle b/travis/before-cache-gradle deleted file mode 100644 index 6db6f1c30..000000000 --- a/travis/before-cache-gradle +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: sh; sh-shell: sh -*- - -caches="$HOME/.gradle/caches" - -rm -rf \ - "$caches/modules-2/modules-2.lock" \ - "$caches"/*/plugin-resolution diff --git a/travis/before-cache-maven b/travis/before-cache-maven deleted file mode 100644 index e69de29bb..000000000 diff --git a/travis/before-install-gradle b/travis/before-install-gradle deleted file mode 100644 index e69de29bb..000000000 diff --git a/travis/before-install-maven b/travis/before-install-maven deleted file mode 100644 index c0fd55a8c..000000000 --- a/travis/before-install-maven +++ /dev/null @@ -1,11 +0,0 @@ -# -*- mode: sh; sh-shell: sh -*- - -git clone --depth=1 https://github.com/secure-software-engineering/DroidBench.git /tmp/DroidBench - -export M2_HOME=$HOME/apache-maven-3.5.0 - -if [ ! -d $M2_HOME/bin ]; then - curl https://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz | tar zxf - -C $HOME -fi - -export PATH=$M2_HOME/bin:$PATH diff --git a/travis/install-gradle b/travis/install-gradle deleted file mode 100644 index 9bb7d2ab2..000000000 --- a/travis/install-gradle +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: sh; sh-shell: sh -*- - -# initial p2AsMaven downloads are sometimes slow -travis_wait 30 ./gradlew --dry-run - -./gradlew --continue --no-build-cache assemble diff --git a/travis/install-maven b/travis/install-maven deleted file mode 100644 index 2796b95c2..000000000 --- a/travis/install-maven +++ /dev/null @@ -1,4 +0,0 @@ -# -*- mode: sh; sh-shell: sh -*- - -./gradlew prepareMavenBuild -mvn clean verify -DskipTests=true -B -q diff --git a/travis/script-gradle b/travis/script-gradle deleted file mode 100644 index 6aa02f8eb..000000000 --- a/travis/script-gradle +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: sh; sh-shell: sh -*- - -case "$TRAVIS_OS_NAME" in - (linux) headless=xvfb-run ;; - (osx) headless='' ;; -esac - -$headless ./gradlew --continue --no-build-cache --stacktrace build javadoc lintGradle diff --git a/travis/script-maven b/travis/script-maven deleted file mode 100644 index 42bc4ed94..000000000 --- a/travis/script-maven +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: sh; sh-shell: sh -*- - -xvfb-run mvn clean install -B -q -bash ./dependent-projects-trigger.sh "$AUTH_TOKEN" -mvn javadoc:aggregate -B -q -bash ./upload-javascript.sh "$GH_TOKEN" -./build-maven-jars.py "install -Dgpg.skip"