build: switch to Maven configuration for JavaIndexer
This commit is contained in:
+1
-2
@@ -13,8 +13,7 @@
|
||||
/bin/test/data/temp.xml
|
||||
/bin/test/data/TestSettings.xml
|
||||
|
||||
/java_indexer/bin/
|
||||
/java_indexer/lib/
|
||||
/java_indexer/target/
|
||||
|
||||
/setup/Linux/lib/
|
||||
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# prerequirements: java/bin in path
|
||||
|
||||
ABORT="\033[31mAbort:\033[00m"
|
||||
SUCCESS="\033[32mSuccess:\033[00m"
|
||||
INFO="\033[33mInfo:\033[00m"
|
||||
|
||||
# Determine current platform
|
||||
PLATFORM='unknown'
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
PLATFORM='MacOS'
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
PLATFORM='Linux'
|
||||
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then
|
||||
PLATFORM='Windows'
|
||||
fi
|
||||
|
||||
if [ $PLATFORM == "Windows" ]; then
|
||||
ORIGINAL_PATH_TO_SCRIPT="${0}"
|
||||
CLEANED_PATH_TO_SCRIPT="${ORIGINAL_PATH_TO_SCRIPT//\\//}"
|
||||
ROOT_DIR=`dirname "$CLEANED_PATH_TO_SCRIPT"`
|
||||
else
|
||||
ROOT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
fi
|
||||
|
||||
ROOT_DIR=$ROOT_DIR/..
|
||||
|
||||
cd $ROOT_DIR
|
||||
|
||||
mkdir -p classes
|
||||
|
||||
CLASSPATH=""
|
||||
if [ $PLATFORM == "Windows" ]; then
|
||||
LIB_DIR="./lib/"
|
||||
CLASSPATH+=$LIB_DIR"java-symbol-solver-core.jar;"
|
||||
CLASSPATH+=$LIB_DIR"java-symbol-solver-logic.jar;"
|
||||
CLASSPATH+=$LIB_DIR"java-symbol-solver-model.jar;"
|
||||
CLASSPATH+=$LIB_DIR"javaparser-core.jar"
|
||||
else
|
||||
CLASSPATH+=$ROOT_DIR"/lib/java-symbol-solver-core.jar:"
|
||||
CLASSPATH+=$ROOT_DIR"/lib/java-symbol-solver-logic.jar:"
|
||||
CLASSPATH+=$ROOT_DIR"/lib/java-symbol-solver-model.jar:"
|
||||
CLASSPATH+=$ROOT_DIR"/lib/javaparser-core.jar"
|
||||
fi
|
||||
|
||||
javac -d ./classes -classpath $CLASSPATH src/com/sourcetrail/*.java
|
||||
|
||||
mkdir -p bin
|
||||
|
||||
cd classes
|
||||
|
||||
jar cvf ../bin/java-indexer.jar com/sourcetrail/*.class
|
||||
|
||||
cd ..
|
||||
|
||||
rm -rf classes
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,75 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.sourcetrail</groupId>
|
||||
<artifactId>java-indexer</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.0</version>
|
||||
<name>java_indexer</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<javasymbolsolver.version>x.x.x</javasymbolsolver.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.2</version>
|
||||
<configuration>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.dummy</groupId>
|
||||
<artifactId>java-symbol-solver-core</artifactId>
|
||||
<version>${javasymbolsolver.version}</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/lib/java-symbol-solver-core.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.dummy</groupId>
|
||||
<artifactId>java-symbol-solver-logic</artifactId>
|
||||
<version>${javasymbolsolver.version}</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/lib/java-symbol-solver-logic.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.dummy</groupId>
|
||||
<artifactId>java-symbol-solver-model</artifactId>
|
||||
<version>${javasymbolsolver.version}</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/lib/java-symbol-solver-model.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.javaparser</groupId>
|
||||
<artifactId>javaparser-core</artifactId>
|
||||
<version>3.2.4</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.javassist</groupId>
|
||||
<artifactId>javassist</artifactId>
|
||||
<version>3.19.0-GA</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>21.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.javaslang</groupId>
|
||||
<artifactId>javaslang</artifactId>
|
||||
<version>2.0.0-beta</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -40,20 +40,6 @@ cp setup/git/git_pre_commit_hook.sh .git/hooks/pre-commit
|
||||
cp setup/git/git_pre_push_hook.sh .git/hooks/pre-push
|
||||
fi
|
||||
|
||||
# Copy necessary jars for java indexer
|
||||
echo -e $INFO "copy jars for java indexer"
|
||||
|
||||
mkdir -p java_indexer/lib
|
||||
|
||||
if [ $PLATFORM == "Windows" ]; then
|
||||
cp -u -r setup/jars/windows/*.jar java_indexer/lib
|
||||
elif [ $PLATFORM == "Linux" ]; then
|
||||
cp -u -r setup/jars/linux/*.jar java_indexer/lib
|
||||
# what about 32/64 bit?
|
||||
elif [ $PLATFORM == "MacOS" ]; then
|
||||
cp -r setup/jars/MacOSX/*.jar java_indexer/lib
|
||||
fi
|
||||
|
||||
# Create Debug and Release folders
|
||||
echo -e $INFO "create build folders"
|
||||
if [ $PLATFORM == "Windows" ]; then
|
||||
|
||||
@@ -27,13 +27,21 @@ ROOT_DIR=$ROOT_DIR/..
|
||||
# Enter main directory
|
||||
cd $ROOT_DIR/
|
||||
|
||||
cd java_indexer
|
||||
|
||||
echo -e $INFO "build java-indexer"
|
||||
java_indexer/build/build.sh
|
||||
echo "cleaning and building java_indexer.jar"
|
||||
mvn clean package dependency:copy-dependencies
|
||||
|
||||
cd ../
|
||||
|
||||
echo -e $INFO "copy jars"
|
||||
mkdir -p bin/app/data/java
|
||||
rm -rf bin/app/data/java/*
|
||||
cp -r java_indexer/lib/*.jar bin/app/data/java
|
||||
cp -r java_indexer/bin/*.jar bin/app/data/java
|
||||
cp -r java_indexer/target/java-indexer-1.0.jar bin/app/data/java/java-indexer.jar
|
||||
cp -r java_indexer/target/dependency/guava*.jar bin/app/data/java
|
||||
cp -r java_indexer/target/dependency/javaparser-core*.jar bin/app/data/java
|
||||
cp -r java_indexer/target/dependency/javaslang*.jar bin/app/data/java
|
||||
cp -r java_indexer/target/dependency/javassist*.jar bin/app/data/java
|
||||
cp -r java_indexer/target/dependency/java-symbol-solver-core-x.x.x.jar bin/app/data/java/java-symbol-solver-core.jar
|
||||
cp -r java_indexer/target/dependency/java-symbol-solver-logic-x.x.x.jar bin/app/data/java/java-symbol-solver-logic.jar
|
||||
cp -r java_indexer/target/dependency/java-symbol-solver-model-x.x.x.jar bin/app/data/java/java-symbol-solver-model.jar
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,6 +13,21 @@
|
||||
#include "utility/ResourcePaths.h"
|
||||
#include "utility/utilityString.h"
|
||||
|
||||
std::vector<std::string> JavaParser::getRequiredJarNames()
|
||||
{
|
||||
std::vector<std::string> jarNames = {
|
||||
"guava-21.0.jar",
|
||||
"java-indexer.jar",
|
||||
"javaparser-core-3.2.4.jar",
|
||||
"javaslang-2.0.3.jar",
|
||||
"javassist-3.19.0-GA.jar",
|
||||
"java-symbol-solver-core.jar",
|
||||
"java-symbol-solver-logic.jar",
|
||||
"java-symbol-solver-model.jar"
|
||||
};
|
||||
return jarNames;
|
||||
}
|
||||
|
||||
std::string JavaParser::prepareJavaEnvironment()
|
||||
{
|
||||
std::string errorString;
|
||||
@@ -24,15 +39,22 @@ std::string JavaParser::prepareJavaEnvironment()
|
||||
#else
|
||||
const std::string separator = ":";
|
||||
#endif
|
||||
|
||||
std::string classPath = "";
|
||||
{
|
||||
const std::vector<std::string> jarNames = getRequiredJarNames();
|
||||
for (size_t i = 0; i < jarNames.size(); i++)
|
||||
{
|
||||
if (i != 0)
|
||||
{
|
||||
classPath += separator;
|
||||
}
|
||||
classPath += ResourcePaths::getJavaPath().str() + jarNames[i];
|
||||
}
|
||||
}
|
||||
|
||||
JavaEnvironmentFactory::createInstance(
|
||||
ResourcePaths::getJavaPath().str() + "guava-21.0.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "java-indexer.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "javaparser-core.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "javaslang-2.0.3.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "javassist-3.19.0-GA.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "java-symbol-solver-core.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "java-symbol-solver-logic.jar" + separator +
|
||||
ResourcePaths::getJavaPath().str() + "java-symbol-solver-model.jar",
|
||||
classPath,
|
||||
errorString
|
||||
);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ class FileRegister;
|
||||
class JavaParser: public Parser
|
||||
{
|
||||
public:
|
||||
static std::vector<std::string> getRequiredJarNames();
|
||||
// returns: error message
|
||||
static std::string prepareJavaEnvironment();
|
||||
static void clearCaches();
|
||||
|
||||
@@ -814,15 +814,21 @@ private:
|
||||
#else
|
||||
const std::string separator = ":";
|
||||
#endif
|
||||
std::string classPath = "";
|
||||
{
|
||||
const std::vector<std::string> jarNames = JavaParser::getRequiredJarNames();
|
||||
for (size_t i = 0; i < jarNames.size(); i++)
|
||||
{
|
||||
if (i != 0)
|
||||
{
|
||||
classPath += separator;
|
||||
}
|
||||
classPath += "../app/data/java/" + jarNames[i];
|
||||
}
|
||||
}
|
||||
|
||||
JavaEnvironmentFactory::createInstance(
|
||||
"../app/data/java/guava-21.0.jar" + separator +
|
||||
"../app/data/java/java-indexer.jar" + separator +
|
||||
"../app/data/java/javaparser-core.jar" + separator +
|
||||
"../app/data/java/javaslang-2.0.3.jar" + separator +
|
||||
"../app/data/java/javassist-3.19.0-GA.jar" + separator +
|
||||
"../app/data/java/java-symbol-solver-core.jar" + separator +
|
||||
"../app/data/java/java-symbol-solver-logic.jar" + separator +
|
||||
"../app/data/java/java-symbol-solver-model.jar" + separator,
|
||||
classPath,
|
||||
errorString
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user