Skip to content

Instantly share code, notes, and snippets.

@ptquang86
Created April 2, 2018 00:47
Show Gist options
  • Save ptquang86/feff48818fc7d2fb6aed8d1e3b5cef14 to your computer and use it in GitHub Desktop.
Save ptquang86/feff48818fc7d2fb6aed8d1e3b5cef14 to your computer and use it in GitHub Desktop.
## == SYSTEM
## required: Android SDK Build-tools 23.0.1
export ANDROID_HOME='TODO'
## export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
## export JAVA_HOME=$(/usr/libexec/java_home)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
## export PATH=$ANDROID_HOME:$ANDROID_HOME/tools/bin:$PATH
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
## == REACT VARIABLES
declare RE_TEMPLATE='TODO'
declare RE_NATIVE_TEMPLATE='TODO'
declare RE_WORKSPACE='TODO'
## == TITANIUM VARIABLES
declare TI_IPSE='TODO'
declare TI_IP='TODO'
declare TI_IPPLUS='TODO'
declare TI_IPX='TODO'
declare TI_TEMPLATE='TODO'
declare TI_WORKSPACE='TODO'
declare TI_EMAIL='TODO'
declare TI_PASSWORD='TODO'
declare TI_DEV_NAME='TODO'
declare TI_DEV_UUID='TODO'
## == SYSTEM ALIASES
alias sys.bo='open ~/.bash_profile'
alias sys.bs='source ~/.bash_profile'
alias sys.clean='sudo find / -name ".DS_Store" -depth -exec rm {} \;'
alias sys.fixdns='dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say flushed'
alias sys.fixdhcp='sudo ipconfig set en0 DHCP && sudo ipconfig set en1 DHCP'
## == SAMSUNG ALIASES
ssList() {
adb shell pm list packages | grep $1
}
alias ss.l=ssList
alias ss.la='adb shell pm list packages'
ssInstall() {
adb shell pm install -k --user 0 $1
# adb shell pm unhide $1
}
alias ss.i=ssInstall
ssUninstall() {
adb shell pm uninstall -k --user 0 $1
# adb shell pm hide $1
}
alias ss.u=ssUninstall
## == REACT ALIASES
reTemplate() {
mkdir -p src/containers/$1
cp -Ri ~/$RE_TEMPLATE/src/actions/proposals.js src/actions/$1.js
cp -Ri ~/$RE_TEMPLATE/src/containers/Proposal/index.js src/containers/$1/index.js
cp -Ri ~/$RE_TEMPLATE/src/containers/Proposal/View.js src/containers/$1/View.js
cp -Ri ~/$RE_TEMPLATE/src/reducers/proposals.js src/reducers/$1.js
echo -TODO: change the name of folder containers/$1 to Capitalize
echo -TODO: change the name proposal to $1 in actions/$1
echo -TODO: change the name proposal to $1 in reducers/$1
echo -TODO: change the name proposal to $1 in containers/$1/index.js
echo -TODO: change the name Proposal to $1 in containers/$1/View.js
echo -TODO: include reducers/$2 in types.js
echo -TODO: include reducers/$2 in reducers/index.js
echo -TODO: include containers/$2 in App.js
}
alias re.template=reTemplate
## == REACT NATIVE ALIASES
## view available simulators: xcrun simctl list devices
alias rn.is1='react-native run-ios --simulator="iPhone SE"'
alias rn.is2='react-native run-ios --simulator="iPhone 8"'
alias rn.is3='react-native run-ios --simulator="iPhone 8 Plus"'
alias rn.is4='react-native run-ios --simulator="iPhone X"'
alias rn.is=rn.is4
alias rn.ad='react-native run-android'
alias rn.flow='npm run flow'
alias rn.link='react-native link'
rnLink() {
react-native link $1
}
alias rn.l=rnLink
rnUnLink() {
react-native unlink $1
}
alias rn.ul=rnUnLink
## alias rn.ia='npm install && rn.link'
alias rn.ia='npm i --save'
rnInstall() {
## react-native install $1
npm i --save $1
}
alias rn.i=rnInstall
rnUninstall() {
## react-native uninstall $1
npm uninstall $1
}
alias rn.ui=rnUninstall
rnClean() {
## react-native start --reset-cache
rm -rf android/app/build
rm -rf android/build
rm -rf ios/build
npm prune
## clear
}
alias rn.clean=rnClean
alias rn.pod='cd ios && pod install && cd ..'
rnProject() {
if [ -f $1 ] ; then
printf "-"
else
cd ~/$TI_WORKSPACE/
react-native init $1
cd $1
fi
rm -rf "App.js"
declare files=(
".babelrc"
".flowconfig"
".gitignore"
"README.md"
)
for file in "${files[@]}"
do
cp -R ~/$RE_NATIVE_TEMPLATE/$file $file
done
find . -name '.DS_Store' -type f -delete
}
alias rn.project=rnProject
## == TITANIUM ALIASES
alias ti.info='appc ti info'
alias ti.clean='appc ti clean; clear'
alias ti.adl='appc run -p android -T device --skip-js-minify --liveview'
alias ti.ad='appc run -p android -T device --skip-js-minify'
alias ti.asl='appc run -p android --skip-js-minify --liveview'
alias ti.as='appc run -p android --skip-js-minify'
alias ti.idl='appc run -p ios -T device --skip-js-minify -V $TI_DEV_NAME -P $TI_DEV_UUID --liveview'
alias ti.id='appc run -p ios -T device --skip-js-minify -V $TI_DEV_NAME -P $TI_DEV_UUID'
alias ti.isl1='appc run -p ios -C $TI_IPSE --skip-js-minify --liveview'
alias ti.is1='appc run -p ios -C $TI_IPSE --skip-js-minify'
alias ti.isl2='appc run -p ios -C $TI_IP --skip-js-minify --liveview'
alias ti.is2='appc run -p ios -C $TI_IP --skip-js-minify'
alias ti.isl3='appc run -p ios -C $TI_IPPLUS --skip-js-minify --liveview'
alias ti.is3='appc run -p ios -C $TI_IPPLUS --skip-js-minify'
alias ti.isl4='appc run -p ios -C $TI_IPX --skip-js-minify --liveview'
alias ti.is4='appc run -p ios -C $TI_IPX --skip-js-minify'
alias ti.isl=ti.isl4
alias ti.is=ti.is4
tiLogin() {
appc login --username $TI_EMAIL --password $TI_PASSWORD
}
alias ti.login=tiLogin
tiCD() {
cd ~/$TI_WORKSPACE/$1
}
alias ti.cd=tiCD
tiCreateController() {
appc alloy generate controller $1
}
alias ti.create=tiCreateController
tiCreateModel() {
appc alloy generate model $1 sql id:text name:text
}
alias ti.model=tiCreateModel
tiCreateWidget() {
appc alloy generate widget $1
}
alias ti.widget=tiCreateWidget
tiCopy() {
appc alloy copy $1 $2
}
alias ti.copy=tiCopy
tiFolder() {
mkdir -p app/controllers/$1
mkdir -p app/styles/$1
mkdir -p app/views/$1
}
alias ti.folder=tiFolder
tiTemplate() {
cp -Ri ~/$TI_TEMPLATE/app/controllers/$1.js app/controllers/$2.js
cp -Ri ~/$TI_TEMPLATE/app/styles/$1.tss app/styles/$2.tss
cp -Ri ~/$TI_TEMPLATE/app/views/$1.xml app/views/$2.xml
}
alias ti.template=tiTemplate
tiProject() {
if [ -f $1 ] ; then
printf "-"
else
cd ~/$TI_WORKSPACE/
appc new -t titanium --id $1 -n $1 -p android,ios
cd $1
fi
mkdir -p "app/assets/android/images/res-xhdpi"
mkdir -p "app/assets/android/images/res-xxhdpi"
mkdir -p "app/assets/android/images/res-xxxhdpi"
mkdir -p "app/assets/iphone/images"
mkdir -p "app/assets/fonts"
mkdir -p "app/i18n/en"
mkdir -p "app/lib"
mkdir -p "app/controllers/ui"
mkdir -p "app/controllers/users"
mkdir -p "app/styles/ui"
mkdir -p "app/styles/users"
mkdir -p "app/views/ui"
mkdir -p "app/views/users"
mkdir -p "app/platform/android/res/drawable"
mkdir -p "app/platform/android/res/values"
mkdir -p "app/widgets"
declare IMAGE_ANDROID='assets/android/images'
declare IMAGE_IOS='assets/iphone/images'
declare files=(
".gitignore"
".gitmodules"
"app/alloy.js"
"app/$IMAGE_ANDROID/blank.png"
"app/$IMAGE_ANDROID/res-xhdpi/add.png"
"app/$IMAGE_ANDROID/res-xxhdpi/add.png"
"app/$IMAGE_ANDROID/res-xxxhdpi/add.png"
"app/$IMAGE_IOS/add@2x.png"
"app/$IMAGE_IOS/add@3x.png"
"app/$IMAGE_IOS/back@2x.png"
"app/$IMAGE_IOS/back@3x.png"
"app/$IMAGE_IOS/blank.png"
"app/$IMAGE_IOS/menu@2x.png"
"app/$IMAGE_IOS/menu@3x.png"
"app/config.json"
"app/i18n/en/app.xml"
"app/i18n/en/strings.xml"
"app/styles/app.tss"
"app/controllers/index.js"
"app/styles/index.tss"
"app/views/index.xml"
"app/controllers/landing.js"
"app/styles/landing.tss"
"app/views/landing.xml"
"app/controllers/users/signin.js"
"app/styles/users/signin.tss"
"app/views/users/signin.xml"
"app/controllers/users/signup.js"
"app/styles/users/signup.tss"
"app/views/users/signup.xml"
"app/controllers/ui/button.js"
"app/styles/ui/button.tss"
"app/views/ui/button.xml"
"app/controllers/ui/textfield.js"
"app/styles/ui/textfield.tss"
"app/views/ui/textfield.xml"
"app/platform/android/res/drawable/custom_gradient.xml"
"app/platform/android/res/values/colors.xml"
"app/platform/android/res/values/custom_theme.xml"
)
for file in "${files[@]}"
do
cp -R ~/$TI_TEMPLATE/$file $file
done
find . -name '.DS_Store' -type f -delete
}
alias ti.project=tiProject
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment