mwaylabs / generator-m-ionic Goto Github PK
View Code? Open in Web Editor NEWAdvanced workflows and setup for building rock-solid Ionic apps
License: MIT License
Advanced workflows and setup for building rock-solid Ionic apps
License: MIT License
Consider node-sass or lib-sass as a replacement for ruby sass thus get rid of the ruby/sass dependency
https://github.com/dlmanning/gulp-sass
https://github.com/sass/node-sass (gulp-sass may not work with plumber)
https://github.com/sass/libsass
https://github.com/medialize/sass.js (emscripten, so no libsass installation is needed, cumbersome on windows)
for better debugging.
#3 Needs to be solved first, when considering source maps for gulp-ruby-sass
Probably a gulp task will be useful to update the version number of the project (cordova, bower, npm).
See here - https://github.com/diegonetto/generator-ionic/blob/master/Gruntfile.js#L30
do with gulp or yeoman?
Provide a dedicated folder for cordova assets that are copied to the right location when building
Collect best-practices in util module that can be reused in other projects.
Ideas:
sources:
discuss:
gulp tasks:
How can projects created with the generator be updated:
cordova platform update <platform>
? - https://cordova.apache.org/docs/en/3.5.0/guide_cli_index.md.html#The%20Command-Line%20Interfaceconfig.xml
etc...Document known issues with components, operating systems, etc... that we don't control
Like issue #47
Define precise development guidelines:
milestones, changelogs, breaking changes, labels ...
Is it possible to remove cordova platforms and plugins from the git repository?
related #124
.yo-rc.json
??Project structure and modularization needs to be defined first: #31
improvements:
more generators:
out of scope:
gulp
readme
evaluate styleguides:
how to enforce?
Approvals
not approvals
and not approvals
which don't create any cordova specific files, task ....
Provide precommit hooks for:
Test the jscs/jshint compatibility of the generated files
[16:54:47] [gulp-ruby-sass]
NoMethodError: undefined method `specificity' for [:not(.bar-subheader)]:Array
[16:54:47] Plumber found unhandled error:
Error in plugin 'gulp-ruby-sass'
NoMethodError: undefined method `specificity' for [:not(.bar-subheader)]:Array
Using Sass 3.4.6 (Selective Steve)
Test the functionality of the gulp file similar to - https://github.com/youngmountain/generator-node-gulp/blob/master/test/test-generated-project.js
Print command overview after running yo m explaining how to continue with development:
gulp watch
etc...
cordova plugin update
etc...The license should probably also be included in the code base, right?
The option syntax seems a little confusing. It seem more readable and easier to write gulp cordova 'plugins ls'
rather than gulp -- cordova 'plugins ls'
. Unfortunately this is not possible. How should we do it?
Additionally right now when running just gulp
it throws an because the default task is cordova. What should the default task be?
Based on selection create samples for:
Control:
endpoint configuration for
todo:
gulp watch --api=mock
?gulp build --api=prod
?travis.yml
)install
, update
, open
sh /Users/jenkins/Documents/testtoolsios/add_rla_rlv.sh ${WORKSPACE}/GonalF/GonalF-Info.plist ${BUILD_NUMBER} 1.5.1 de.merck.gonalf.enterprise
#!/bin/bash
# © M-Way Solutions GmbH 2013, Martin Wieland
# Add bundleId and bundleversion specific url schemes
PLISTBUDDY="/usr/libexec/PlistBuddy"
INFO_PLIST="$1"
BUILD_NUMBER="$2"
VERSION="$3"
BUNDLEID="$4"
echo $INFO_PLIST
#BUNDLEID=$($PLISTBUDDY -c "Print :CFBundleIdentifier" "$INFO_PLIST" )
#VERSION=$($PLISTBUDDY -c "Print :CFBundleVersion" "$INFO_PLIST" )
echo $VERSION
if [[ $VERSION == *BUILD* ]]; then
VERSION=1.0.$BUILD_NUMBER
else
VERSION=$VERSION.$BUILD_NUMBER
fi
echo $BUNDLEID
echo $VERSION
$PLISTBUDDY -c "Delete :CFBundleVersion" "$INFO_PLIST"
$PLISTBUDDY -c "Add :CFBundleVersion string '$VERSION'" "$INFO_PLIST"
#if [[ $CONFIGURATION != *Enterprise* || $BUNDLEID != *enterprise* ]]; then
# if [ "$ADD_RLA_RLV" == "" ]; then
# echo "Ignore adding rla/rlv to plist"
# exit 0
# fi
#fi
BUNDLEID_SCHEME="rla"$(echo "${BUNDLEID}" | cksum -o3 | awk '{print $1}')
VERSION_SCHEME="rlv"$(echo "${BUNDLEID}_$VERSION" | cksum -o3 | awk '{print $1}')
echo "Add URLTypes for '$BUNDLEID': $BUNDLEID_SCHEME + $VERSION_SCHEME"
URLTYPES=$($PLISTBUDDY -c "Print :CFBundleURLTypes" "$INFO_PLIST" 2>/dev/null)
if [ "$URLTYPES" == "" ]; then
$PLISTBUDDY -c "Add :CFBundleURLTypes array" "$INFO_PLIST"
fi
INDEX=0;
while :
do
BUNDLEURLNAME=$($PLISTBUDDY -c "Print :CFBundleURLTypes:$INDEX:CFBundleURLName" "$INFO_PLIST" 2>/dev/null)
if [ "$BUNDLEURLNAME" == "" ]; then
#echo "End found: $INDEX
break;
fi
if [ "$BUNDLEURLNAME" == "RelutionUrlName" ]; then
$PLISTBUDDY -c "Delete :CFBundleURLTypes:$INDEX" "$INFO_PLIST"
#echo "Delete :CFBundleURLTypes:$INDEX"
else
let 'INDEX=INDEX+1'
fi
done
$PLISTBUDDY \
-c "Add :CFBundleURLTypes:0 dict" \
-c "Add :CFBundleURLTypes:0:CFBundleURLName string 'RelutionUrlName'" \
-c "Add :CFBundleURLTypes:0:CFBundleURLSchemes array" \
-c "Add :CFBundleURLTypes:0:CFBundleURLSchemes:0 string '$BUNDLEID_SCHEME'" \
-c "Add :CFBundleURLTypes:0:CFBundleURLSchemes:1 string '$VERSION_SCHEME'" \
"$INFO_PLIST"
# "$PLISTBUDDY" -c Print "$INFO_PLIST"
[23/10/14 12:28:13] Jonas Kaufmann: com.mwaysolutions.enterprise.onventis.tradecore
[23/10/14 12:28:17] Jonas Kaufmann: enterprise
[23/10/14 12:29:09] Jonas Kaufmann: Appstore: com.onventis.TradeCoreSmartConnect
[23/10/14 12:29:36] Jonas Kaufmann: v.100.1.0.5.990
[23/10/14 12:30:17] Jonas Kaufmann: 2.0.0.0
e.g. im having problems with the fonts task right now on the jenkins, but didnt realize on my machine because the fonts folder is not erased every time
Provide a jenkins build file that can be configured to build your project on jenkins/travis
Explain the individual gulp tasks and build steps
Solve #4 first.
Is it possible to run generator without skip-sdk
option so integrations test for cordova are possible?
Right now travis does not support multiple languages:
http://stackoverflow.com/questions/18456611/is-it-possible-to-set-up-travis-to-run-tests-for-several-languages
Write a small guide that helps willing contributors to get started and deliver useful pull-requests:
touch on:
Cannot run git init && yo m
.
Won't work because cordova will only create projects in empty directories.
all flags
Is it possible to run generator without skip-sdk option so integrations test for cordova are possible?
check platforms, plugins, etc...
Right now travis does not support multiple languages
http://stackoverflow.com/questions/18456611/is-it-possible-to-set-up-travis-to-run-tests-for-several-languages
Only run integration tests when in local environment !process.env.CI
? similar to gulpfile
https://github.com/mwaylabs/generator-mcap/tree/master/test
withYoRC()
method suggestion for running context. see yeoman/generator#742https://github.com/yeoman/generator/blob/master/lib/test/run-context.js#L56
Test the jscs/jshint compatibility of the generated files
especially important to quickly update dependencies without risks of breaking anything
test components after generation
Explain why it is necessary to wrap the cordova
cli into: gulp --cordova
gulp-inject doesn't update when stream is empty:klei/gulp-inject#59
Other aspects to consider:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.