Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
3cb6fb3
Added Buttons and got rid of errors
GarrettBurroughs Mar 7, 2018
d1564d0
Update README.md
GarrettBurroughs Mar 16, 2018
b5a9631
Update README.md
GarrettBurroughs Mar 16, 2018
a15ed95
Update README.md
GarrettBurroughs Mar 16, 2018
a790ec9
Basic motor rework.... again
GarrettBurroughs Apr 2, 2018
ced096c
Merge branch 'master' of https://github.com/GarrettBurroughs/Alloy
GarrettBurroughs Apr 3, 2018
cbb1c8d
Update README.md
GarrettBurroughs Apr 29, 2018
bfc9c24
Started implementation of motor control elements
May 7, 2018
2409e2b
Added Spotless code formatter https://github.com/diffplug/spotless to…
May 7, 2018
2984a78
Updated readme to include command reference for Spotless
May 7, 2018
13d5079
Update README.md
GarrettBurroughs May 7, 2018
049daf9
Update README.md
GarrettBurroughs May 7, 2018
b988dce
Merge pull request #14 from GarrettBurroughs/formatting
GarrettBurroughs May 7, 2018
940ca64
Merge branch master into components
May 7, 2018
bc8be91
added utils
May 15, 2018
3a75a0d
Added more utils
May 15, 2018
bc0b26e
quick readability change
May 21, 2018
cc5c746
Implemented motor group and test example for intake
May 23, 2018
93ac1e9
Updated hyperlinks
GarrettBurroughs May 28, 2018
ee849c4
fixed formatting
GarrettBurroughs Aug 6, 2018
bf1aa38
updated docs
GarrettBurroughs Aug 6, 2018
ffa498d
Set theme jekyll-theme-merlot
GarrettBurroughs Aug 6, 2018
9495818
Update readme.md
GarrettBurroughs Aug 6, 2018
5cd0843
Update readme.md
GarrettBurroughs Aug 6, 2018
6963abd
fixed bugs
GarrettBurroughs Aug 7, 2018
d317dc6
merged master into components
GarrettBurroughs Aug 7, 2018
32ae6e4
Update README.md
GarrettBurroughs Aug 17, 2018
1836a5c
added docs, and improved code quality for codacity's standards
GarrettBurroughs Aug 17, 2018
36edad8
Update README.md
GarrettBurroughs Aug 20, 2018
d40ba25
Bringing things up to code standards
GarrettBurroughs Aug 21, 2018
3e50548
updating more to codacity standards
GarrettBurroughs Aug 21, 2018
9f529f4
moving closer to perfect codacy standards...ATM
GarrettBurroughs Aug 21, 2018
d154349
cleaning up and getting ready for merging
GarrettBurroughs Aug 21, 2018
d768164
brushed things up to get ready for merging
GarrettBurroughs Sep 8, 2018
62d8640
Merge branch 'master' into components
GarrettBurroughs Sep 8, 2018
c6acf51
Merge pull request #20 from GarrettBurroughs/components
GarrettBurroughs Sep 8, 2018
727df52
merge
GarrettBurroughs Sep 8, 2018
e4b7785
Implemented turning and driving auto modes
GarrettBurroughs Sep 12, 2018
1c0271a
added autonomous features and samples
GarrettBurroughs Oct 7, 2018
ee8e4de
set up an artifactory repository
GarrettBurroughs Oct 15, 2018
d8de133
merged
GarrettBurroughs Oct 15, 2018
d3a0b74
fixed global gradle properties problem
GarrettBurroughs Oct 15, 2018
c3f4d8d
fixed one more global variable
GarrettBurroughs Oct 15, 2018
9507116
Delete accidentally committed file
GarrettBurroughs Dec 16, 2018
77e0df6
Merge branch 'master' into Autonomous
GarrettBurroughs Jan 24, 2019
558b26c
Fixed Merge conflicts and Removed InvalidParameterException
GarrettBurroughs Jan 24, 2019
37412c6
Updated Format and debugging for states
GarrettBurroughs Jan 24, 2019
b62483b
Updated Description and debug info for state machines
GarrettBurroughs Jan 24, 2019
f7efc98
Updated Simple Autonomous
GarrettBurroughs Jan 24, 2019
0b73746
Merge pull request #27 from GarrettBurroughs/Autonomous
GarrettBurroughs Jan 24, 2019
232fccb
Updated Javadocs and fixed some formatting
GarrettBurroughs Jan 24, 2019
3262f64
Merge branch 'master' into Autonomous
GarrettBurroughs Jan 24, 2019
ec33bcb
Merge branch 'master' into Autonomous
GarrettBurroughs Jan 24, 2019
1c7a885
Merge pull request #30 from GarrettBurroughs/Autonomous
GarrettBurroughs Jan 25, 2019
c339ff7
Updated readme badge to jenkins
GarrettBurroughs Jan 25, 2019
fc3e3bd
Updated gradle wrapper and implemented mecanum mapper
GarrettBurroughs Jan 25, 2019
2205f07
Revert "Updated gradle wrapper and implemented mecanum mapper"
GarrettBurroughs Jan 25, 2019
1a3b9db
Updated Gradle Version
GarrettBurroughs Sep 3, 2019
d1d2cb2
Update README.md
GarrettBurroughs Nov 4, 2019
a5a859b
Update README.md
GarrettBurroughs Nov 4, 2019
c2afd43
Added CircleCi
GarrettBurroughs Nov 4, 2019
1462e01
Update README.md
GarrettBurroughs Nov 4, 2019
7d3d34d
Merge remote-tracking branch 'origin/master'
GarrettBurroughs Nov 4, 2019
d923d87
Update README.md
GarrettBurroughs Nov 4, 2019
5528051
Updated gitignore
GarrettBurroughs Nov 4, 2019
4eaf490
Removed Ignored Files
GarrettBurroughs Nov 4, 2019
77545df
Merge remote-tracking branch 'origin/master'
GarrettBurroughs Nov 4, 2019
fb2f6fc
Cleaning up files
GarrettBurroughs Nov 4, 2019
ea0e195
More File Cleanup
GarrettBurroughs Nov 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 42 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Java Gradle CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-java/ for more details
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
- image: circleci/openjdk:8-jdk

# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4

working_directory: ~/repo

environment:
# Customize the JVM maximum heap limit
JVM_OPTS: -Xmx3200m
TERM: dumb

steps:
- checkout

# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

- run: gradle dependencies

- save_cache:
paths:
- ~/.gradle
key: v1-dependencies-{{ checksum "build.gradle" }}

# run tests!
- run: gradle test
82 changes: 8 additions & 74 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,76 +1,10 @@
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
.gradle/
.idea/
main/java/main.iml

# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml

# Gradle:
.idea/**/gradle.xml
.idea/**/libraries

# CMake
cmake-build-debug/

# Mongo Explorer plugin:
.idea/**/mongoSettings.xml

## File-based project format:
*.iws

## Plugin-specific files:

# IntelliJ
build/
out/
.idea/

# Project
src/test/
src/main/java/META-INF/
.idea/artifacts/

# mpeltonen/sbt-idea plugin
.idea_modules/

# maven
src/main/target/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties


.gradle
/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Cache of project
.gradletasknamecache

# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties
.settings
.classpath
.project
*.iws
*.iml
*.MF
19 changes: 0 additions & 19 deletions .idea/compiler.xml

This file was deleted.

11 changes: 0 additions & 11 deletions .idea/modules.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/modules/Alloy.iml

This file was deleted.

6 changes: 0 additions & 6 deletions .travis.yml

This file was deleted.

16 changes: 0 additions & 16 deletions Alloy.iml

This file was deleted.

61 changes: 60 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Alloy  [![Build Status](https://travis-ci.org/GarrettBurroughs/Alloy.svg?branch=master)](https://travis-ci.org/GarrettBurroughs/Alloy) [![CodeFactor](https://www.codefactor.io/repository/github/garrettburroughs/alloy/badge)](https://www.codefactor.io/repository/github/garrettburroughs/alloy)
# Alloy [![CircleCI](https://circleci.com/gh/MontclairRobotics/Alloy.svg?style=svg)](https://circleci.com/gh/MontclairRobotics/Alloy) [![CodeFactor](https://www.codefactor.io/repository/github/montclairrobotics/alloy/badge)](https://www.codefactor.io/repository/github/montclairrobotics/alloy) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/f3335dca15a8429ebc50528ca6330411)](https://www.codacy.com/project/garrett_2/Alloy/dashboard?utm_source=github.com&utm_medium=referral&utm_content=GarrettBurroughs/Alloy&utm_campaign=Badge_Grade_Dashboard)

![AlloyLogo](http://gdurl.com/AFl8)

Expand All @@ -8,3 +8,62 @@ Status: **Beta**
Alloy is a robot framework designed specifically for the First Tech Challenge (FTC).

Alloy is based off the FRC robot framework [Sprocket](https://github.com/MontclairRobotics/Sprocket), but redesigned to abstract away the more complex ideas but still allow for advanced robot functionality.

Note: Alloy is still under heavy development, and not ready or suggested for use in creating a robot

Developed by FTC147 and FRC555

The goal of Alloy is to provide a robot framework that allows anyone, including new programmers, to be able to implement
high functioning and quality code for their robots. In other terms, Alloy aims to prevent robot code from being a limiting
factor on the performance of the robot.


Alloy is a robot framework designed specifically for the First Tech Challenge (FTC), but is also designed
with expandibility in mind. FRC implementation is possible and will be coming in the future.

Alloy is based off the FRC robot framework [Sprocket](https://github.com/MontclairRobotics/Sprocket), but redesigned to abstract away the more complex ideas but still allow for advanced robot functionality.

Any information regarding Alloy, including how it works, project structure, as well as in-depth explanation on how to use all of the components
can be found in the project [Wiki](https://github.com/GarrettBurroughs/Alloy/wiki) as well as a [quick start guide](https://github.com/GarrettBurroughs/Alloy/wiki/Getting-Started).


## Formatting
Alloy uses the [Spotless](https://github.com/diffplug/spotless/tree/master/plugin-gradle) code formatter to ensure that
all of the code follows a specific format. It is added as a build step for a gradle
build so this means that all code in alloy must be compliant to be merged.
Spotless allows for automatic code formatting, just run:
```
cmd> gradlew spotlessApply
:spotlessApply
BUILD SUCCESSFUL

cmd> gradlew build
BUILD SUCCESSFUL
```


# FAQ

### Q. What is the purpose of/how do I use ___?

A. Every class is heavily documented as well as wiki articles explaining the use of more complex/important parts of alloy

### Q. I tried to update ___ method using @Update, but it isn't working?

A. The way alloy is designed, is that everything is split up into components, and a method can only be updated if it is within a component.
you can read more about this topic [Here](https://github.com/GarrettBurroughs/Alloy/wiki/Alloy-Update-System)

### Q. What is a component/what is the difference between the components?
A. Different components have different purposes, for example, a control component would be used for an advanced control system,
whereas a motor component, or motor ocmponent group would be used to control a drivetrain or manipulator

### Q. What if I don't want to use components?

A. Things can be done in alloy without the use of components, but if you are designing code for a specific tool or component on the robot,
such as a shooter, drivetrain, or control system, it is highly recommended as components add extra functionality like toggleability,
easier debugging, and updateable methods. But again, all of this can be done without the use of components.

### Q. ___ isn't working.

A. If you have a problem first see our [Troubleshooting guide](https://github.com/GarrettBurroughs/Alloy/wiki/Troubleshooting-Guide). If that does not fix your problem you can file an [Issue](https://github.com/GarrettBurroughs/Alloy/issues/new)
using our issue template, please provide as much information as possible so we can fully understand the probelm and fix the issue.
23 changes: 23 additions & 0 deletions SpotlessLicense
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
MIT License

Copyright (c) $YEAR Garrett Burroughs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
89 changes: 80 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,93 @@
apply plugin: 'java'
apply plugin: 'maven'
buildscript {
repositories {
jcenter()
}
dependencies {
//Check for the latest version here: http://plugins.gradle.org/plugin/com.jfrog.artifactory
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1"
}
}
plugins {
id "com.diffplug.gradle.spotless" version "3.10.0"
id 'java'
id 'maven'
id 'maven-publish'
}

allprojects {
apply plugin: "com.jfrog.artifactory"
}

def usr = hasProperty('artifactory_user') ? artifactory_user : System.getenv('artifactory_user')
def pwd = hasProperty('artifactory_password') ? artifactory_password : System.getenv('artifactory_password')


def snapshot = false

group = 'Alloy'
version = '0.0.1-SNAPSHOT'
group = 'org.montclairrobotics'
version = "0.0.1${snapshot ? "-SNAPSHOT" : ""}"

description = """Alloy"""

sourceCompatibility = 1.8
targetCompatibility = 1.8



repositories {

maven { url "http://repo.maven.apache.org/maven2" }

maven { url "http://repo.maven.apache.org/maven2" }
jcenter()
}

dependencies{

testCompile 'junit:junit:4.12'
compile fileTree(dir: "src/main/libs/", include: ['*.jar'])
compile 'org.reflections:reflections:0.9.11'

}

spotless {
java {
googleJavaFormat('1.1').aosp()


licenseHeaderFile 'SpotlessLicense'
paddedCell()
}
}


publishing {
publications {
Alloy(MavenPublication) {
from components.java
}
}
}


artifactory {
contextUrl = "http://67.205.146.144:8081/artifactory" //The base Artifactory URL if not overridden by the publisher/resolver
publish {
repository {
repoKey = "libs-${snapshot ? "snapshot" : "release"}-local"
username = "${usr}"
password = "${pwd}"
maven = true

}
defaults{
publications('Alloy')
publishPom = true
}
}
resolve {
repository {
repoKey = "libs-${snapshot ? "snapshot" : "release"}-local"
username = "${usr}"
password = "${pwd}"
maven = true

}
}
}

Loading