Skip to content

Commit

Permalink
Add Build.java to gitignore
Browse files Browse the repository at this point in the history
  • Loading branch information
serivesmejia committed Aug 15, 2023
1 parent 0ecb94a commit faf250c
Show file tree
Hide file tree
Showing 7 changed files with 141 additions and 99 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -126,5 +126,8 @@ _deps

# End of https://www.toptal.com/developers/gitignore/api/cmake

**/Build.java
**/build/*

*.a
*.cmake
33 changes: 32 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
import java.nio.file.Paths
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

plugins {
id 'java-library'
id 'maven-publish'
Expand Down Expand Up @@ -41,4 +45,31 @@ repositories {
dependencies {
compileOnly "org.openpnp:opencv:4.5.1-2"
api project(':RobotCore')
}
}

task(writeBuildClassJava) {
String date = DateTimeFormatter.ofPattern("yyyy-M-d hh:mm:ss").format(LocalDateTime.now())

File versionFile = Paths.get(
projectDir.absolutePath, 'src', 'main', 'java',
'io', 'github', 'deltacv', 'apriltag', 'Build.java'
).toFile()

versionFile.delete()

versionFile << "package io.github.deltacv.apriltag;\n" +
"\n" +
"/*\n" +
" * Autogenerated file! Do not manually edit this file, as\n" +
" * it is regenerated any time the build task is run.\n" +
" *\n" +
" * Based from PhotonVision PhotonVersion generator task\n"+
" */\n" +
"@SuppressWarnings(\"ALL\")\n" +
"public final class Build {\n" +
" public static final String versionString = \"$version\";\n" +
" public static final String buildDate = \"$date\";\n" +
"}"
}

build.dependsOn writeBuildClassJava
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Empty file modified gradlew
100755 → 100644
Empty file.
178 changes: 89 additions & 89 deletions gradlew.bat
Original file line number Diff line number Diff line change
@@ -1,89 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@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 Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@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="-Xmx64m" "-Xms64m"

@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 execute

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 execute

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

: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 %*

: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
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@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 Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@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="-Xmx64m" "-Xms64m"

@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 execute

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 execute

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

: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 %*

: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
1 change: 0 additions & 1 deletion src/main/cpp/apriltag
Submodule apriltag deleted from 6fd978
23 changes: 16 additions & 7 deletions src/main/java/io/github/deltacv/apriltag/AprilTagLibLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,16 +70,25 @@ public static void load() {
String osArch = osName + " (" + arch + ")";

String name = prefix + "apriltag" + extension;
String versionedName = Integer.toUnsignedString(Build.versionString.hashCode()) + name;

String tmpDir = System.getProperty("java.io.tmpdir");
File tempFile = new File(tmpDir + File.separator + "deltacv_apriltag_" + Math.random() + File.separator + name);

try {
Files.copy(Objects.requireNonNull(AprilTagLibLoader.class.getResourceAsStream("/" + name)), tempFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (NullPointerException e) {
throw new UnsupportedOperationException("Library could not be found for the " + osArch + " platform, AprilTag plugin is not supported. Tried " + name, e);
} catch (Exception e) {
throw new RuntimeException("Error while extracting library", e);
File tempDeltacv = new File(tmpDir + File.separator + "deltacv");
File tempFile = new File(tempDeltacv, versionedName);

if(!tempDeltacv.exists()) {
tempDeltacv.mkdir();
}

if(!tempFile.exists()) {
try {
Files.copy(Objects.requireNonNull(AprilTagLibLoader.class.getResourceAsStream("/" + name)), tempFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (NullPointerException e) {
throw new UnsupportedOperationException("Library could not be found for the " + osArch + " platform, AprilTag plugin is not supported. Tried " + name, e);
} catch (Exception e) {
throw new RuntimeException("Error while extracting library", e);
}
}

try {
Expand Down

0 comments on commit faf250c

Please sign in to comment.