diff --git a/.gradle/5.0/fileChanges/last-build.bin b/.gradle/5.0/fileChanges/last-build.bin new file mode 100644 index 00000000..f76dd238 Binary files /dev/null and b/.gradle/5.0/fileChanges/last-build.bin differ diff --git a/.gradle/5.0/fileContent/fileContent.lock b/.gradle/5.0/fileContent/fileContent.lock new file mode 100644 index 00000000..0eb53323 Binary files /dev/null and b/.gradle/5.0/fileContent/fileContent.lock differ diff --git a/.gradle/5.0/fileHashes/fileHashes.bin b/.gradle/5.0/fileHashes/fileHashes.bin new file mode 100644 index 00000000..cb3fd7bd Binary files /dev/null and b/.gradle/5.0/fileHashes/fileHashes.bin differ diff --git a/.gradle/5.0/fileHashes/fileHashes.lock b/.gradle/5.0/fileHashes/fileHashes.lock new file mode 100644 index 00000000..e2641222 Binary files /dev/null and b/.gradle/5.0/fileHashes/fileHashes.lock differ diff --git a/.gradle/5.0/gc.properties b/.gradle/5.0/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/.gradle/5.0/taskHistory/taskHistory.bin b/.gradle/5.0/taskHistory/taskHistory.bin new file mode 100644 index 00000000..b10006d2 Binary files /dev/null and b/.gradle/5.0/taskHistory/taskHistory.bin differ diff --git a/.gradle/5.0/taskHistory/taskHistory.lock b/.gradle/5.0/taskHistory/taskHistory.lock new file mode 100644 index 00000000..6720e62e Binary files /dev/null and b/.gradle/5.0/taskHistory/taskHistory.lock differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 00000000..e8109729 Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 00000000..a12531e3 --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Sun Jan 06 15:07:52 PST 2019 +gradle.version=5.0 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 00000000..ab9c0f3e Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/.project b/.project new file mode 100644 index 00000000..5b9bef27 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + standard + Project standard created by Buildship. + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 00000000..e8895216 --- /dev/null +++ b/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,2 @@ +connection.project.dir= +eclipse.preferences.version=1 diff --git a/.wpilib/wpilib_preferences.json b/.wpilib/wpilib_preferences.json new file mode 100644 index 00000000..62e35203 --- /dev/null +++ b/.wpilib/wpilib_preferences.json @@ -0,0 +1,6 @@ +{ + "currentLanguage": "none", + "enableCppIntellisense": false, + "projectYear": "none", + "teamNumber": 4904 +} \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..904f8abf --- /dev/null +++ b/build.gradle @@ -0,0 +1,61 @@ +plugins { + id "java" + id "edu.wpi.first.GradleRIO" version "2019.1.1" +} + +def ROBOT_MAIN_CLASS = "frc.robot.Main" + +// Define my targets (RoboRIO) and artifacts (deployable files) +// This is added by GradleRIO's backing project EmbeddedTools. +deploy { + targets { + roboRIO("roborio") { + // Team number is loaded either from the .wpilib/wpilib_preferences.json + // or from command line. If not found an exception will be thrown. + // You can use getTeamOrDefault(team) instead of getTeamNumber if you + // want to store a team number in this file. + team = frc.getTeamNumber() + } + } + artifacts { + frcJavaArtifact('frcJava') { + targets << "roborio" + // Debug can be overridden by command line, for use with VSCode + debug = frc.getDebugOrDefault(false) + } + // Built in artifact to deploy arbitrary files to the roboRIO. + fileTreeArtifact('frcStaticFileDeploy') { + // The directory below is the local directory to deploy + files = fileTree(dir: 'src/main/deploy') + // Deploy to RoboRIO target, into /home/lvuser/deploy + targets << "roborio" + directory = '/home/lvuser/deploy' + } + } +} + +// Set this to true to enable desktop support. +def includeDesktopSupport = false + +// Maven central needed for JUnit +repositories { + mavenCentral() +} + +// Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries. +// Also defines JUnit 4. +dependencies { + compile wpi.deps.wpilib() + compile wpi.deps.vendor.java() + nativeZip wpi.deps.vendor.jni(wpi.platforms.roborio) + nativeDesktopZip wpi.deps.vendor.jni(wpi.platforms.desktop) + testCompile 'junit:junit:4.12' +} + +// Setting up my Jar File. In this case, adding all libraries into the main jar ('fat jar') +// in order to make them all available at runtime. Also adding the manifest so WPILib +// knows where to look for our Robot Class. +jar { + from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } + manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS) +} diff --git a/build/tmp/expandedArchives/cscore-cpp-2019.1.1-osxx86-64.zip_3952f6882338a397c54eed06a2fcf138/osx/x86-64/shared/libcscore.dylib b/build/tmp/expandedArchives/cscore-cpp-2019.1.1-osxx86-64.zip_3952f6882338a397c54eed06a2fcf138/osx/x86-64/shared/libcscore.dylib new file mode 100755 index 00000000..1c987cfe Binary files /dev/null and b/build/tmp/expandedArchives/cscore-cpp-2019.1.1-osxx86-64.zip_3952f6882338a397c54eed06a2fcf138/osx/x86-64/shared/libcscore.dylib differ diff --git a/build/tmp/expandedArchives/cscore-cpp-2019.1.1-osxx86-64.zip_3952f6882338a397c54eed06a2fcf138/osx/x86-64/shared/libcscorejni.dylib b/build/tmp/expandedArchives/cscore-cpp-2019.1.1-osxx86-64.zip_3952f6882338a397c54eed06a2fcf138/osx/x86-64/shared/libcscorejni.dylib new file mode 100755 index 00000000..576bc656 Binary files /dev/null and b/build/tmp/expandedArchives/cscore-cpp-2019.1.1-osxx86-64.zip_3952f6882338a397c54eed06a2fcf138/osx/x86-64/shared/libcscorejni.dylib differ diff --git a/build/tmp/expandedArchives/hal-cpp-2019.1.1-osxx86-64.zip_d8517c04700d20c80702ad9d40a8776a/osx/x86-64/shared/libwpiHal.dylib b/build/tmp/expandedArchives/hal-cpp-2019.1.1-osxx86-64.zip_d8517c04700d20c80702ad9d40a8776a/osx/x86-64/shared/libwpiHal.dylib new file mode 100755 index 00000000..a49d67bd Binary files /dev/null and b/build/tmp/expandedArchives/hal-cpp-2019.1.1-osxx86-64.zip_d8517c04700d20c80702ad9d40a8776a/osx/x86-64/shared/libwpiHal.dylib differ diff --git a/build/tmp/expandedArchives/hal-cpp-2019.1.1-osxx86-64.zip_d8517c04700d20c80702ad9d40a8776a/osx/x86-64/shared/libwpiHaljni.dylib b/build/tmp/expandedArchives/hal-cpp-2019.1.1-osxx86-64.zip_d8517c04700d20c80702ad9d40a8776a/osx/x86-64/shared/libwpiHaljni.dylib new file mode 100755 index 00000000..37bc6e09 Binary files /dev/null and b/build/tmp/expandedArchives/hal-cpp-2019.1.1-osxx86-64.zip_d8517c04700d20c80702ad9d40a8776a/osx/x86-64/shared/libwpiHaljni.dylib differ diff --git a/build/tmp/expandedArchives/ntcore-cpp-2019.1.1-osxx86-64.zip_134edc40ce690e6237c8de1f961aaf45/osx/x86-64/shared/libntcore.dylib b/build/tmp/expandedArchives/ntcore-cpp-2019.1.1-osxx86-64.zip_134edc40ce690e6237c8de1f961aaf45/osx/x86-64/shared/libntcore.dylib new file mode 100755 index 00000000..26174fbd Binary files /dev/null and b/build/tmp/expandedArchives/ntcore-cpp-2019.1.1-osxx86-64.zip_134edc40ce690e6237c8de1f961aaf45/osx/x86-64/shared/libntcore.dylib differ diff --git a/build/tmp/expandedArchives/ntcore-cpp-2019.1.1-osxx86-64.zip_134edc40ce690e6237c8de1f961aaf45/osx/x86-64/shared/libntcorejni.dylib b/build/tmp/expandedArchives/ntcore-cpp-2019.1.1-osxx86-64.zip_134edc40ce690e6237c8de1f961aaf45/osx/x86-64/shared/libntcorejni.dylib new file mode 100755 index 00000000..c20b0841 Binary files /dev/null and b/build/tmp/expandedArchives/ntcore-cpp-2019.1.1-osxx86-64.zip_134edc40ce690e6237c8de1f961aaf45/osx/x86-64/shared/libntcorejni.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_calib3d.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_calib3d.3.4.dylib new file mode 100755 index 00000000..b6cd1d5f Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_calib3d.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_core.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_core.3.4.dylib new file mode 100755 index 00000000..de15ccf6 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_core.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_features2d.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_features2d.3.4.dylib new file mode 100755 index 00000000..08f69afb Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_features2d.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_flann.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_flann.3.4.dylib new file mode 100755 index 00000000..d614594c Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_flann.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_highgui.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_highgui.3.4.dylib new file mode 100755 index 00000000..5093b8ec Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_highgui.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_imgcodecs.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_imgcodecs.3.4.dylib new file mode 100755 index 00000000..4c45ccd6 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_imgcodecs.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_imgproc.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_imgproc.3.4.dylib new file mode 100755 index 00000000..29e6bf7a Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_imgproc.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_java344.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_java344.dylib new file mode 100755 index 00000000..a47767a6 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_java344.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_ml.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_ml.3.4.dylib new file mode 100755 index 00000000..e3dd6313 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_ml.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_objdetect.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_objdetect.3.4.dylib new file mode 100755 index 00000000..8a8a03f5 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_objdetect.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_photo.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_photo.3.4.dylib new file mode 100755 index 00000000..701d90df Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_photo.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_shape.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_shape.3.4.dylib new file mode 100755 index 00000000..40376b9c Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_shape.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_stitching.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_stitching.3.4.dylib new file mode 100755 index 00000000..6e67691d Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_stitching.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_superres.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_superres.3.4.dylib new file mode 100755 index 00000000..86abe8f4 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_superres.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_video.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_video.3.4.dylib new file mode 100755 index 00000000..491b2581 Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_video.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_videoio.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_videoio.3.4.dylib new file mode 100755 index 00000000..b64c5b4f Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_videoio.3.4.dylib differ diff --git a/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_videostab.3.4.dylib b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_videostab.3.4.dylib new file mode 100755 index 00000000..04a0b52b Binary files /dev/null and b/build/tmp/expandedArchives/opencv-cpp-3.4.4-4-osxx86-64.zip_dedbac496f76dd290da547459dc16ab7/osx/x86-64/shared/libopencv_videostab.3.4.dylib differ diff --git a/build/tmp/expandedArchives/wpiutil-cpp-2019.1.1-osxx86-64.zip_1bc59f83e33c372bd4a7a80d73829150/osx/x86-64/shared/libwpiutil.dylib b/build/tmp/expandedArchives/wpiutil-cpp-2019.1.1-osxx86-64.zip_1bc59f83e33c372bd4a7a80d73829150/osx/x86-64/shared/libwpiutil.dylib new file mode 100755 index 00000000..b9e1c192 Binary files /dev/null and b/build/tmp/expandedArchives/wpiutil-cpp-2019.1.1-osxx86-64.zip_1bc59f83e33c372bd4a7a80d73829150/osx/x86-64/shared/libwpiutil.dylib differ diff --git a/build/tmp/jar/MANIFEST.MF b/build/tmp/jar/MANIFEST.MF new file mode 100644 index 00000000..f438880a --- /dev/null +++ b/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: frc.robot.Main + diff --git a/build/tmp/jniExtractDir/libcscore.dylib b/build/tmp/jniExtractDir/libcscore.dylib new file mode 100755 index 00000000..1c987cfe Binary files /dev/null and b/build/tmp/jniExtractDir/libcscore.dylib differ diff --git a/build/tmp/jniExtractDir/libcscorejni.dylib b/build/tmp/jniExtractDir/libcscorejni.dylib new file mode 100755 index 00000000..576bc656 Binary files /dev/null and b/build/tmp/jniExtractDir/libcscorejni.dylib differ diff --git a/build/tmp/jniExtractDir/libntcore.dylib b/build/tmp/jniExtractDir/libntcore.dylib new file mode 100755 index 00000000..26174fbd Binary files /dev/null and b/build/tmp/jniExtractDir/libntcore.dylib differ diff --git a/build/tmp/jniExtractDir/libntcorejni.dylib b/build/tmp/jniExtractDir/libntcorejni.dylib new file mode 100755 index 00000000..c20b0841 Binary files /dev/null and b/build/tmp/jniExtractDir/libntcorejni.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_calib3d.3.4.dylib b/build/tmp/jniExtractDir/libopencv_calib3d.3.4.dylib new file mode 100755 index 00000000..b6cd1d5f Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_calib3d.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_core.3.4.dylib b/build/tmp/jniExtractDir/libopencv_core.3.4.dylib new file mode 100755 index 00000000..de15ccf6 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_core.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_features2d.3.4.dylib b/build/tmp/jniExtractDir/libopencv_features2d.3.4.dylib new file mode 100755 index 00000000..08f69afb Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_features2d.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_flann.3.4.dylib b/build/tmp/jniExtractDir/libopencv_flann.3.4.dylib new file mode 100755 index 00000000..d614594c Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_flann.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_highgui.3.4.dylib b/build/tmp/jniExtractDir/libopencv_highgui.3.4.dylib new file mode 100755 index 00000000..5093b8ec Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_highgui.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_imgcodecs.3.4.dylib b/build/tmp/jniExtractDir/libopencv_imgcodecs.3.4.dylib new file mode 100755 index 00000000..4c45ccd6 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_imgcodecs.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_imgproc.3.4.dylib b/build/tmp/jniExtractDir/libopencv_imgproc.3.4.dylib new file mode 100755 index 00000000..29e6bf7a Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_imgproc.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_java344.dylib b/build/tmp/jniExtractDir/libopencv_java344.dylib new file mode 100755 index 00000000..a47767a6 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_java344.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_ml.3.4.dylib b/build/tmp/jniExtractDir/libopencv_ml.3.4.dylib new file mode 100755 index 00000000..e3dd6313 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_ml.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_objdetect.3.4.dylib b/build/tmp/jniExtractDir/libopencv_objdetect.3.4.dylib new file mode 100755 index 00000000..8a8a03f5 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_objdetect.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_photo.3.4.dylib b/build/tmp/jniExtractDir/libopencv_photo.3.4.dylib new file mode 100755 index 00000000..701d90df Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_photo.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_shape.3.4.dylib b/build/tmp/jniExtractDir/libopencv_shape.3.4.dylib new file mode 100755 index 00000000..40376b9c Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_shape.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_stitching.3.4.dylib b/build/tmp/jniExtractDir/libopencv_stitching.3.4.dylib new file mode 100755 index 00000000..6e67691d Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_stitching.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_superres.3.4.dylib b/build/tmp/jniExtractDir/libopencv_superres.3.4.dylib new file mode 100755 index 00000000..86abe8f4 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_superres.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_video.3.4.dylib b/build/tmp/jniExtractDir/libopencv_video.3.4.dylib new file mode 100755 index 00000000..491b2581 Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_video.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_videoio.3.4.dylib b/build/tmp/jniExtractDir/libopencv_videoio.3.4.dylib new file mode 100755 index 00000000..b64c5b4f Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_videoio.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libopencv_videostab.3.4.dylib b/build/tmp/jniExtractDir/libopencv_videostab.3.4.dylib new file mode 100755 index 00000000..04a0b52b Binary files /dev/null and b/build/tmp/jniExtractDir/libopencv_videostab.3.4.dylib differ diff --git a/build/tmp/jniExtractDir/libwpiHal.dylib b/build/tmp/jniExtractDir/libwpiHal.dylib new file mode 100755 index 00000000..a49d67bd Binary files /dev/null and b/build/tmp/jniExtractDir/libwpiHal.dylib differ diff --git a/build/tmp/jniExtractDir/libwpiHaljni.dylib b/build/tmp/jniExtractDir/libwpiHaljni.dylib new file mode 100755 index 00000000..37bc6e09 Binary files /dev/null and b/build/tmp/jniExtractDir/libwpiHaljni.dylib differ diff --git a/build/tmp/jniExtractDir/libwpiutil.dylib b/build/tmp/jniExtractDir/libwpiutil.dylib new file mode 100755 index 00000000..b9e1c192 Binary files /dev/null and b/build/tmp/jniExtractDir/libwpiutil.dylib differ diff --git a/custom/motioncontrollers/BangBangController.java b/custom/motioncontrollers/BangBangController.java index 8ea94d2b..f65f1ef9 100644 --- a/custom/motioncontrollers/BangBangController.java +++ b/custom/motioncontrollers/BangBangController.java @@ -5,6 +5,7 @@ import org.usfirst.frc4904.standard.custom.sensors.InvalidSensorException; import org.usfirst.frc4904.standard.custom.sensors.PIDSensor; import edu.wpi.first.wpilibj.PIDSource; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; /** * A bang bang controller. @@ -18,6 +19,7 @@ public class BangBangController extends MotionController { protected double A; protected double F; protected double threshold; + protected static final String DEFAULT_SMARTDASHBOARD_PREFIX = "!!"; /** * BangBang controller @@ -115,6 +117,60 @@ public BangBangController(PIDSource source, double A, double F) { this(source, A, F, Double.MIN_VALUE); } + /** + * @return + * The current A value + */ + public double getA() { + return A; + } + + /** + * @return + * The current F (feed forward) value + */ + public double getF() { + return F; + } + + /** + * @return + * The current D value + */ + public double getThreshold() { + return threshold; + } + + /** + * Set the value of the A constant + * + * @param the + * desired A value + */ + public void setA(double A) { + this.A = A; + } + + /** + * Set the value of the F (feed forward) constant + * + * @param the + * desired F value + */ + public void setF(double F) { + this.F = F; + } + + /** + * Set the value of the bang-bang threshold + * + * @param the + * desired threshold value + */ + public void setThreshold(double threshold) { + this.threshold = threshold; + } + /** * Sets the stored error value to zero (0) */ @@ -188,4 +244,66 @@ public double get() { public double getError() { return error; } + + /** + * Put the PID controller to SmartDashboard for tuning. + * Puts the error, setpoint, sensor value, and output. + * This method adds a very small random value to everything + * so that graphs show properly on SmartDashboard. + * + * @param prefix + * The prefix to use when putting things on SmartDashboard. + */ + @Override + public void putToSmartDashboard(String prefix) { + double noise = (Math.random() - 0.5) * 0.0000001; // Generate very small noise centered at zero + SmartDashboard.putNumber(prefix + "_Error", getError() + noise); + SmartDashboard.putNumber(prefix + "_Setpoint", getSetpoint() + noise); + SmartDashboard.putNumber(prefix + "_Sensor", getSensorValue() + noise); + SmartDashboard.putNumber(prefix + "_Output", get() + noise); + } + + /** + * Put the PID controller to SmartDashboard for tuning. + * Puts the error, setpoint, sensor value, and output. + * This method adds a very small random value to everything + * so that graphs show properly on SmartDashboard. + */ + @Override + public void putToSmartDashboard() { + putToSmartDashboard(BangBangController.DEFAULT_SMARTDASHBOARD_PREFIX); + } + + /** + * Update the PID controller from SmartDashboard for tuning. + * Gets the P, I, D, and F constants from SmartDashboard, + * or puts the current ones there if there's no constants. + * + * @param prefix + * The prefix to use when putting things on SmartDashboard. + */ + @Override + public void updateFromSmartDashboard(String prefix) { + // If we're missing any constants on SmartDashboard, put the current ones + if (!(SmartDashboard.containsKey(prefix + "_A") && SmartDashboard.containsKey(prefix + "_F") + && SmartDashboard.containsKey(prefix + "_threshold"))) { + SmartDashboard.putNumber(prefix + "_A", getA()); + SmartDashboard.putNumber(prefix + "_F", getF()); + SmartDashboard.putNumber(prefix + "_threshold", getThreshold()); + return; + } + setA(SmartDashboard.getNumber(prefix + "_A", getA())); + setF(SmartDashboard.getNumber(prefix + "_F", getF())); + setThreshold(SmartDashboard.getNumber(prefix + "_threshold", getThreshold())); + } + + /** + * Update the PID controller from SmartDashboard for tuning. + * Gets the P, I, D, and F constants from SmartDashboard, + * or puts the current ones there if there's no constants. + */ + @Override + public void updateFromSmartDashboard() { + updateFromSmartDashboard(BangBangController.DEFAULT_SMARTDASHBOARD_PREFIX); + } } diff --git a/custom/motioncontrollers/CustomPIDController.java b/custom/motioncontrollers/CustomPIDController.java index 657664fc..5e00d202 100644 --- a/custom/motioncontrollers/CustomPIDController.java +++ b/custom/motioncontrollers/CustomPIDController.java @@ -7,6 +7,7 @@ import org.usfirst.frc4904.standard.custom.sensors.PIDSensor; import edu.wpi.first.wpilibj.PIDSource; import edu.wpi.first.wpilibj.PIDSourceType; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.hal.util.BoundaryException; /** @@ -28,6 +29,7 @@ public class CustomPIDController extends MotionController { protected double lastErrorDerivative; protected double derivativeTolerance; protected double minimumNominalOutput = 0.0; + protected static final String DEFAULT_SMARTDASHBOARD_PREFIX = "PID"; /** * An extremely basic PID controller. @@ -421,6 +423,70 @@ public double get() { } } + /** + * Put the PID controller to SmartDashboard for tuning. + * Puts the error, setpoint, sensor value, and output. + * This method adds a very small random value to everything + * so that graphs show properly on SmartDashboard. + * + * @param prefix + * The prefix to use when putting things on SmartDashboard. + */ + @Override + public void putToSmartDashboard(String prefix) { + double noise = (Math.random() - 0.5) * 0.0000001; // Generate very small noise centered at zero + SmartDashboard.putNumber(prefix + "_Error", getError() + noise); + SmartDashboard.putNumber(prefix + "_Setpoint", getSetpoint() + noise); + SmartDashboard.putNumber(prefix + "_Sensor", getSensorValue() + noise); + SmartDashboard.putNumber(prefix + "_Output", get() + noise); + } + + /** + * Put the PID controller to SmartDashboard for tuning. + * Puts the error, setpoint, sensor value, and output. + * This method adds a very small random value to everything + * so that graphs show properly on SmartDashboard. + */ + @Override + public void putToSmartDashboard() { + putToSmartDashboard(CustomPIDController.DEFAULT_SMARTDASHBOARD_PREFIX); + } + + /** + * Update the PID controller from SmartDashboard for tuning. + * Gets the P, I, D, and F constants from SmartDashboard, + * or puts the current ones there if there's no constants. + * + * @param prefix + * The prefix to use when putting things on SmartDashboard. + */ + @Override + public void updateFromSmartDashboard(String prefix) { + // If we're missing any constants on SmartDashboard, put the current ones + if (!(SmartDashboard.containsKey(prefix + "_P") && SmartDashboard.containsKey(prefix + "_I") + && SmartDashboard.containsKey(prefix + "_D") && SmartDashboard.containsKey(prefix + "_F"))) { + SmartDashboard.putNumber(prefix + "_P", getP()); + SmartDashboard.putNumber(prefix + "_I", getI()); + SmartDashboard.putNumber(prefix + "_D", getD()); + SmartDashboard.putNumber(prefix + "_F", getF()); + return; + } + setPIDF(SmartDashboard.getNumber(prefix + "_P", getP()), + SmartDashboard.getNumber(prefix + "_I", getI()), + SmartDashboard.getNumber(prefix + "_D", getD()), + SmartDashboard.getNumber(prefix + "_F", getF())); + } + + /** + * Update the PID controller from SmartDashboard for tuning. + * Gets the P, I, D, and F constants from SmartDashboard, + * or puts the current ones there if there's no constants. + */ + @Override + public void updateFromSmartDashboard() { + updateFromSmartDashboard(CustomPIDController.DEFAULT_SMARTDASHBOARD_PREFIX); + } + public boolean derivativeOnTarget() { return derivativeTolerance == 0 || Math.abs(lastErrorDerivative) < derivativeTolerance; } @@ -428,5 +494,6 @@ public boolean derivativeOnTarget() { @Override public boolean onTarget() { return super.onTarget() && derivativeOnTarget(); + } } diff --git a/custom/motioncontrollers/MotionController.java b/custom/motioncontrollers/MotionController.java index 0970c4e9..50c3e221 100644 --- a/custom/motioncontrollers/MotionController.java +++ b/custom/motioncontrollers/MotionController.java @@ -32,6 +32,7 @@ public abstract class MotionController { protected Exception sensorException; private volatile boolean justReset; private final Object lock = new Object(); + protected static final String DEFAULT_SMARTDASHBOARD_PREFIX = "MC"; /** * A MotionController modifies an output using a sensor @@ -397,4 +398,46 @@ public void run() { } } } + + /** + * Put the controller constants to SmartDashboard for tuning. + * as well as the error, setpoint, sensor value, and output. + * This method adds a very small random value to everything + * so that graphs show properly on SmartDashboard. + * + * @param prefix + * The prefix to use when putting things on SmartDashboard. + */ + public abstract void putToSmartDashboard(String prefix); + + /** + * Put the controller constants to SmartDashboard for tuning. + * as well as the error, setpoint, sensor value, and output. + * This method adds a very small random value to everything + * so that graphs show properly on SmartDashboard. + * + * Uses the default prefix {@value #DEFAULT_SMARTDASHBOARD_PREFIX} + */ + public void putToSmartDashboard() { + putToSmartDashboard(MotionController.DEFAULT_SMARTDASHBOARD_PREFIX); + } + + /** + * Update the controller constants from SmartDashboard for tuning. + * Gets new constants from SmartDashboard, defaulting to the current ones. + * + * @param prefix + * The prefix to use when putting things on SmartDashboard. + */ + public abstract void updateFromSmartDashboard(String prefix); + + /** + * Update the controller constants from SmartDashboard for tuning. + * Gets new constants from SmartDashboard, defaulting to the current ones. + * + * Uses the default prefix {@value #DEFAULT_SMARTDASHBOARD_PREFIX} + */ + public void updateFromSmartDashboard() { + updateFromSmartDashboard(MotionController.DEFAULT_SMARTDASHBOARD_PREFIX); + } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..ddb6d949 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=permwrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=permwrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00000000..af6708ff --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + 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='"-Xmx64m"' + +# 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 new file mode 100644 index 00000000..0f8d5937 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@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="-Xmx64m" + +@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/settings.gradle b/settings.gradle new file mode 100644 index 00000000..3ff188d3 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,25 @@ +import org.gradle.internal.os.OperatingSystem + +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + String frcYear = '2019' + File frcHome + if (OperatingSystem.current().isWindows()) { + String publicFolder = System.getenv('PUBLIC') + if (publicFolder == null) { + publicFolder = "C:\\Users\\Public" + } + frcHome = new File(publicFolder, "frc${frcYear}") + } else { + def userFolder = System.getProperty("user.home") + frcHome = new File(userFolder, "frc${frcYear}") + } + def frcHomeMaven = new File(frcHome, 'maven') + maven { + name 'frcHome' + url frcHomeMaven + } + } +}