From 1a318d3a96258777e7319cdf66c072101489897f Mon Sep 17 00:00:00 2001 From: Hays Clark Date: Tue, 4 Nov 2014 10:15:53 -0800 Subject: [PATCH] Adding Maven help files and setup scripts from master with modifications for 1.x build. Updating Pom and other file to match latest build. Adding Travis-CI config file and Travis-CI icon to readme. --- .gitignore | 1 + .travis.yml | 12 ++++++ Maven-README.md | 44 ++++++++++++++++++++++ README.textile | 1 + getFpFromArchive.sh | 89 +++++++++++++++++++++++++++++++++++++++++++++ maven-runonce.bat | 1 + maven-runonce.sh | 2 + pom.xml | 11 ++++-- settings.xml | 29 +++++++++++++++ 9 files changed, 187 insertions(+), 3 deletions(-) create mode 100644 .travis.yml create mode 100644 Maven-README.md create mode 100755 getFpFromArchive.sh create mode 100644 maven-runonce.bat create mode 100644 maven-runonce.sh create mode 100644 settings.xml diff --git a/.gitignore b/.gitignore index 8826a2f8..b48e23df 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /bin/* docs/* obj/* +target/* .actionScriptProperties .flexProperties diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..92e8f841 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: objective-c + +before_script: + # set the JAVA_HOME which is not set by default for OSX Travis-CI workers + - export "JAVA_HOME=`/usr/libexec/java_home`" + # Download and install a specific Flash Player from the Adobe Archives: + # http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html + - sh getFpFromArchive.sh 'http://download.macromedia.com/pub/flashplayer/installers/archive/fp_11.7.700.225_archive.zip' + # Install Local Modules Script: + - sh maven-runonce.sh + +script: mvn clean install -s settings.xml -DflashPlayer.command=Flash\ Player\ Debugger.app/Contents/MacOS/Flash\ Player\ Debugger \ No newline at end of file diff --git a/Maven-README.md b/Maven-README.md new file mode 100644 index 00000000..ed4425f9 --- /dev/null +++ b/Maven-README.md @@ -0,0 +1,44 @@ +Maven usage +===== + +Installation +------ + +__Step 1: Install Maven 3.0.3+__ + +[Download from here](http://maven.apache.org/download.html) + +* OS X (Alternative) + + brew install maven + +__Step 2: Ensure maven binaries are on your PATH (ie. you can run `mvn` from anywhere)__ + +Follow the installation instructions from [here](http://maven.apache.org/download.html#Installation). + +__Step 3: CD to the robotlegs root (where the POM.xml lives)__ + +__Step 4: Install the third party dependencies into your local repository__ + +* In OS X + + bash -x maven-runonce.sh + +* In Windows + + maven-runonce.bat + +>Note: we do this because unlike Ant, Maven requires all dependencies live within a repository somewhere. Because none of these dependencies are hosted externally on a remote repository, we need to install them locally into the repository. Going forward, the hope is that many of these dependencies will live in Maven Central, negating the need to install them locally. JM. + + +To build +----- +In order to build Robotlegs from source, run the following command in the Robotlegs root folder. + + mvn clean install -s settings.xml -DflashPlayer.command=[Path To Flash Player] + +Alternative to supplying settings +----- +If you would rather not supply `-s settings.xml` for every build, you can add the repository information from settings.xml into your local repository. Alternatively, you can simply copy the robotlegs settings.xml to `~/.m2/settings.xml` where ~ is your user directory (`\Users\username` in Win7+) + +> __Why do we need the settings file?__ While Flexmojos lives within Maven Central, its dependencies (such as the Flex compiler) and flash project dependencies (such as framework SDKs) do NOT. They live within the flexgroup branch off (sonatype)[http://repository.sonatype.org/content/groups/flexgroup/]. \ No newline at end of file diff --git a/README.textile b/README.textile index 1bf99fd1..8907497d 100644 --- a/README.textile +++ b/README.textile @@ -1,4 +1,5 @@ h2. Robotlegs: A pure AS3 micro-architecture for Flash and Flex +!https://travis-ci.org/haysclark/robotlegs-framework.svg?branch=version1!:https://github.com/haysclark/robotlegs-framework/tree/version1 Robotlegs is a lightweight AS3 MVCS micro-architecture. Robotlegs was created to provide a small, loosely coupled application framework that is easy to test. diff --git a/getFpFromArchive.sh b/getFpFromArchive.sh new file mode 100755 index 00000000..50b5b2a6 --- /dev/null +++ b/getFpFromArchive.sh @@ -0,0 +1,89 @@ +#!/bin/sh +# +# Get FlashPlayer Form Archive 1.0, 2014 +# +# Script downloads a Flash Archive zip, unzips the archive, located the needed +# Mac OS Debug Flash Player, unzips that file and cleans up all but the Flash +# Player folder. +# +# Find specific Flash Player from the Adobe Archives: +# http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html +# +# 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. +# +# Tested on OSX (10.9) +# +# Copyright (c) 2014 Hays Clark +# + +FP_ARCHIVE_PATH="fp_archive" +FP_ARCHIVE_ZIP="fp_archive.zip" +EXPECTED_ARG="" +VERSION="1.0" + +if [ "$#" -gt 1 ]; then + echo "Too many arguments." + echo "Usage: $0 ${EXPECTED_ARG}" + exit 1 +fi + +if [ "$1" = "" ]; then + echo "Missing required argument." + echo "Usage: $0 ${EXPECTED_ARG}" + exit 1 +fi + +echo "[INFO] ------------------------------------------------------------------------" +echo "[INFO] Get FlashPlayer From Archive, ${VERSION}" +echo "[INFO] ------------------------------------------------------------------------" + +# Download the archive +FP_ZIP_ARCHIVE_URL=$1 +echo "[INFO] Downloading: ${FP_ZIP_ARCHIVE_URL}" +curl -L ${FP_ZIP_ARCHIVE_URL} >> ${FP_ARCHIVE_ZIP} + +# Unzip archive +echo "[INFO] Unzipping to: ${FP_ARCHIVE_PATH}" +unzip ${FP_ARCHIVE_ZIP} -d ${FP_ARCHIVE_PATH} + +# locate the mac_sa_debug.app.zip file and ignore any .* files +# these seem to be inconsistent, "*mac_sa_debug.app.zip" and +# "*mac_sa_debug.zip" have been notedr, +MAC_SA_DEBUG_APP_ZIP=`find . -type f \( -iname "*mac_sa_debug*.zip" ! -iname ".*" \)` +if [ "${MAC_SA_DEBUG_APP_ZIP}" = "" ]; then + echo "[ERROR] Can not find required Mac SA Debug Player ZIP." + exit 1 +fi +echo "[INFO] Found Mac SA Debug Player Zip: ${MAC_SA_DEBUG_APP_ZIP}" + +# Unzip mac_sa_debug.app.zip +echo "[INFO] Unzipping player" +unzip ${MAC_SA_DEBUG_APP_ZIP} + +# cleanup +echo "[INFO] cleaning up temp files." +rm ${FP_ARCHIVE_ZIP} +rm -r ${FP_ARCHIVE_PATH} + +echo "[INFO] ------------------------------------------------------------------------" +echo "[INFO] Flash Player Downloaded and Unzip Success" +echo "[INFO] ------------------------------------------------------------------------" + +# done +exit 0 \ No newline at end of file diff --git a/maven-runonce.bat b/maven-runonce.bat new file mode 100644 index 00000000..7f021cd9 --- /dev/null +++ b/maven-runonce.bat @@ -0,0 +1 @@ +call mvn -s settings.xml install:install-file -Dfile=build/libs/SwiftSuspenders-v1.6.0.swc -DartifactId=swiftsuspenders -DgroupId=org.swiftsuspenders -Dversion=1.6.0 -Dpackaging=swc diff --git a/maven-runonce.sh b/maven-runonce.sh new file mode 100644 index 00000000..4557b9d4 --- /dev/null +++ b/maven-runonce.sh @@ -0,0 +1,2 @@ +#!/bin/bash +mvn -s settings.xml install:install-file -Dfile=build/libs/SwiftSuspenders-v1.6.0.swc -DartifactId=swiftsuspenders -DgroupId=org.swiftsuspenders -Dversion=1.6.0 -Dpackaging=swc diff --git a/pom.xml b/pom.xml index 56c209df..7d0367e2 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ 4.0.0 org.robotlegs robotlegs-framework - 1.3.0 + 1.5.3 swc Robotlegs Framework Robotlegs is a pure AS3 micro-architecture (framework) with a light footprint and limited scope. Simply put, Robotlegs is there to help you wire your objects together. It provides the glue that your application needs to easily function in a decoupled way. Through the use of automated metadata based dependency injection Robotlegs removes boilerplate code in an application. By promoting loose coupling and avoiding the use of Singletons and statics in the framework Robotlegs can help you write code that is highly testable. @@ -46,10 +46,15 @@ codecraig@gmail.com http://digitalchickenscratch.com/ + + Hays Clark + hays.clark@gmail.com + http://omita.com/ + - http://github.com/robotlegs/robotlegs-framework/tree/master + http://github.com/robotlegs/robotlegs-framework/tree/version1 git://github.com/robotlegs/robotlegs-framework.git @@ -79,7 +84,7 @@ 10.0.0 3.5.0 4.0-beta-2 - 1.0.1 + 1.6.0 diff --git a/settings.xml b/settings.xml new file mode 100644 index 00000000..530da3f8 --- /dev/null +++ b/settings.xml @@ -0,0 +1,29 @@ + + + + + + flexgroup-on-sonatype + + + Sonatype Flex Group + http://repository.sonatype.org/content/groups/flexgroup/ + + + + + Sonatype Flex Group + http://repository.sonatype.org/content/groups/flexgroup/ + + + + + + + + flexgroup-on-sonatype + + \ No newline at end of file