Install Synapse
-One dependency. No token. Three minutes.
-- Published on Maven Central — no authentication and no extra repository - needed. Full details and troubleshooting: the Install guide. -
-1. Add the dependency
-
- The standard FTC template already includes
+ One line in
- Synapse already ships keep rules in
- Replace
- Build and run the OpMode above. You should see no errors in logcat and the standard "INIT" →
- "RUN" → "STOP" lifecycle messages from the FTC SDK. If you also see lines like
-
- Add this single line inside
- See GamepadAdaptor for the full topic map.
+ {snippets.map((s, i) => (
+
+ Paste it in, then hit Sync Now in
+ Android Studio. That's the whole install.
- Synapse is also mirrored on
- Create a personal access token (classic) with the
+ Synapse is also mirrored on GitHub Packages for teams that already authenticate
+ against GitHub. It requires a personal access token with the
+ Add the mirror repository and the dependency: Kotlin DSL:
- Full walkthrough with troubleshooting: the Install guide's GitHub Packages section.
+
+ ~/.gradle/gradle.properties — never commit this file
build.dependencies.gradle
+
+ Kotlin DSL version and troubleshooting in the Install guide
+
+ mavenCentral() in its repositories,
- so the dependency is all you need. Pick your build system:
+
+
+ Install Synapse
+
+ build.dependencies.gradle.
+ Sync. Done.
Gradle (Groovy)
-
- {groovy}Gradle (Kotlin DSL)
-
- {kotlinDsl}Maven
-
- {maven}2. R8 / ProGuard keep rules
- META-INF/proguard/synapse.pro, so minification
- is safe out of the box. You don't need to copy anything — but if you use a custom rules file,
- add the lines below to be explicit:
-
- {proguard}3. Extend SafeOpMode
- extends OpMode with extends SafeOpMode in your OpMode class.
- The base class wires the orchestrator, hardware thread, and a SafeHardwareMap for you.
-
- {verify}4. Verify it works
- created topic ... or registered node ..., the orchestrator is alive.
- 5. Optional: enable GamepadAdaptor
- onSafeInit() to publish every gamepad field as a topic:
-
- GamepadAdaptor.attach(orchestrator, gamepad1, "g1");
+ {reassurances.map((t) => (
+
+
+
6. Advanced: GitHub Packages mirror
- maven.pkg.github.com/IamCoder18/synapse — useful if
- your organization already authenticates against GitHub. The mirror requires a personal
- access token with the read:packages scope even for public packages (a GitHub
- restriction, not a Synapse one). If in doubt, stay on Maven Central above.
- Use the GitHub Packages mirror
- read:packages
- scope — fine-grained tokens are not accepted by GitHub Packages — then put it in
- ~/.gradle/gradle.properties (never commit this file):
+
+
+ Alternative: GitHub Packages mirror
+
+
+ read:packages
+ scope — even for public packages, a GitHub restriction. If in doubt, use Maven
+ Central above.
- {gradleProps}
- {gprGroovy}
- {gprKotlinDsl}