Skip to content

Commit

Permalink
[core] Fix ycsb.sh and ycsb.bat missing core dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
risdenk committed Sep 20, 2017
1 parent d6e57c3 commit 61c646c
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 19 deletions.
13 changes: 11 additions & 2 deletions bin/ycsb.bat
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,11 @@ GOTO classpathComplete

:gotSource
@REM Check for some basic libraries to see if the source has been built.
IF EXIST "%YCSB_HOME%\%BINDING_DIR%\target\*.jar" GOTO gotJars
IF EXIST "%YCSB_HOME%\core\target\dependency\*.jar" (
IF EXIST "%YCSB_HOME%\%BINDING_DIR%\target\*.jar" (
GOTO gotJars
)
)

@REM Call mvn to build source checkout.
IF "%BINDING_NAME%" == "basic" GOTO buildCore
Expand All @@ -155,7 +159,7 @@ SET MVN_PROJECT=core
:gotMvnProject

ECHO [WARN] YCSB libraries not found. Attempting to build...
CALL mvn -pl com.yahoo.ycsb:%MVN_PROJECT% -am package -DskipTests
CALL mvn -Psource-run -pl com.yahoo.ycsb:%MVN_PROJECT% -am package -DskipTests
IF %ERRORLEVEL% NEQ 0 (
ECHO [ERROR] Error trying to build project. Exiting.
GOTO exit
Expand All @@ -167,6 +171,11 @@ FOR %%F IN (%YCSB_HOME%\core\target\*.jar) DO (
SET CLASSPATH=!CLASSPATH!;%%F%
)

@REM Core dependency libraries
FOR %%F IN (%YCSB_HOME%\core\target\dependency\*.jar) DO (
SET CLASSPATH=!CLASSPATH!;%%F%
)

@REM Database conf (need to find because location is not consistent)
FOR /D /R %YCSB_HOME%\%BINDING_DIR% %%F IN (*) DO (
IF "%%~nxF" == "conf" SET CLASSPATH=!CLASSPATH!;%%F%
Expand Down
36 changes: 19 additions & 17 deletions bin/ycsb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -167,25 +167,21 @@ if $DISTRIBUTION; then
# Source checkout
else
# Check for some basic libraries to see if the source has been built.
for f in "$YCSB_HOME"/"$BINDING_DIR"/target/*.jar ; do

if ! ls "$YCSB_HOME"/core/target/*.jar 1> /dev/null 2>&1 || \
! ls "$YCSB_HOME"/"$BINDING_DIR"/target/*.jar 1>/dev/null 2>&1; then
# Call mvn to build source checkout.
if [ ! -e "$f" ] ; then
if [ "$BINDING_NAME" = "basic" ] ; then
MVN_PROJECT=core
else
MVN_PROJECT="$BINDING_DIR"-binding
fi

echo "[WARN] YCSB libraries not found. Attempting to build..."
mvn -pl com.yahoo.ycsb:"$MVN_PROJECT" -am package -DskipTests
if [ "$?" -ne 0 ] ; then
echo "[ERROR] Error trying to build project. Exiting."
exit 1;
fi
if [ "$BINDING_NAME" = "basic" ] ; then
MVN_PROJECT=core
else
MVN_PROJECT="$BINDING_DIR"-binding
fi

done
echo "[WARN] YCSB libraries not found. Attempting to build..."
if mvn -Psource-run -pl com.yahoo.ycsb:"$MVN_PROJECT" -am package -DskipTests; then
echo "[ERROR] Error trying to build project. Exiting."
exit 1;
fi
fi

# Core libraries
for f in "$YCSB_HOME"/core/target/*.jar ; do
Expand All @@ -194,13 +190,19 @@ else
fi
done

# Core dependency libraries
for f in "$YCSB_HOME"/core/target/dependency/*.jar ; do
if [ -r "$f" ] ; then
CLASSPATH="$CLASSPATH:$f"
fi
done

# Database conf (need to find because location is not consistent)
CLASSPATH_CONF=$(find "$YCSB_HOME"/$BINDING_DIR -name "conf" | while IFS="" read -r file; do echo ":$file"; done)
if [ "x$CLASSPATH_CONF" != "x" ]; then
CLASSPATH="$CLASSPATH$CLASSPATH_CONF"
fi
# Database libraries
for f in "$YCSB_HOME"/"$BINDING_DIR"/target/*.jar ; do
if [ -r "$f" ] ; then
Expand Down
28 changes: 28 additions & 0 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ LICENSE file.
<version>2.1.4</version>
</dependency>
</dependencies>

<build>
<resources>
<resource>
Expand All @@ -68,4 +69,31 @@ LICENSE file.
</resource>
</resources>
</build>

<profiles>
<profile>
<!-- Build profile when running via yscb.sh or yscb.bat-->
<id>source-run</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>stage-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

0 comments on commit 61c646c

Please sign in to comment.