Giter VIP home page Giter VIP logo

cordova-showcase-template's Introduction

Cordova Showcase Application Template

Android Compatible green iOS Compatible green Ionic%20Version 3 green Angular%20Version 4 green typescript cordova showcase template

Project Info

License:

Apache License, Version 2.0

Build:

NPM

End User Documentation:

https://docs.aerogear.org

Community Documentation:

https://www.aerogear.org

Issue tracker:

https://issues.jboss.org/browse/AEROGEAR

Mailing lists:

aerogear-dev

A template application to showcase features from Aerogear Js SDK.

As this application showcases features from Aerogear Js SDK ensure you checkout the desired git tag for whatever SDK version you intend to run. Check NPM for associated versions and releases.

Pre-requisites

To run this application, the following is required (depending on which platform you wish to run the application on):

Build Instructions

Cloning the application

git clone [email protected]:aerogear/cordova-showcase-template.git && cd cordova-showcase-template

Running the App

This application can be run as a showcase using a published version of the AeroGear Js SDK, or as a development aid to working on the SDK.

Run Showcase

The master branch will always track to the latest release of the SDK.

To build the showcase app, run:

npm install
npm run ionic:build

You can choose to run the application on android or ios.

npm run ionic:android // to run in an android

npm run ionic:ios // to run in an ios

Troubleshooting

Working with iOS and Android together

When running the application on both android or ios you will need to clean the projects root directory to remove conflicting files specific to each platform This can be done by running the following:

npm run clean
iOS Pod linking Issue

If after running the application for iOS you get the following error:

ld: library not found for -lGoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

run the following command from the root of the directory:

cd platforms/ios && pod install

and then re build the application.

Work with Self-signed Certificate

Note, if using Android API Level 24 or newer, you must tell the application to trust user certificates by using a file such as this one and including it in the android platform like this in the config.xml:

<resource-file src="network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
    <application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>

License

Questions?

Join our user mailing list for any questions or help! We really hope you enjoy app development with AeroGear!

Found a bug?

If you found a bug please create a ticket for us on Jira with some steps to reproduce it.

cordova-showcase-template's People

Contributors

aidenkeating avatar camilamacedo86 avatar ciaranroche avatar grdryn avatar jasonmadigan avatar jhellar avatar josemigallas avatar laurafitzgerald avatar mikenairn avatar pawelpaszki avatar pb82 avatar rachael-oregan avatar stephencoady avatar tomjackman avatar tommyj1994 avatar wtrocki avatar ziccardi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cordova-showcase-template's Issues

Pipeline fails to 'Sign' for Android in Mobile CI/CD

Expected Behavior

The pipeline completes successfully

Actual Behavior

Pipeline run fails in the signAndroidApks step in the 'Sign' stage, with the following output:

<snip>
BUILD SUCCESSFUL in 34s
45 actionable tasks: 45 executed
Built the following apk(s): 
	/tmp/workspace/myproject/myproject-android-release/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk

[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Sign)
[Pipeline] signAndroidApks
[myproject-android-release] $ echo "resolving effective environment"
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
java.lang.NullPointerException
	at com.cloudbees.plugins.credentials.matchers.IdMatcher.<init>(IdMatcher.java:56)
	at com.cloudbees.plugins.credentials.CredentialsMatchers.withId(CredentialsMatchers.java:132)
	at org.jenkinsci.plugins.androidsigning.SignApksBuilder.getKeystore(SignApksBuilder.java:383)
	at org.jenkinsci.plugins.androidsigning.SignApksBuilder.perform(SignApksBuilder.java:286)
	at org.jenkinsci.plugins.androidsigning.SignApksStep$SignApksStepExecution.run(SignApksStep.java:174)
	at org.jenkinsci.plugins.androidsigning.SignApksStep$SignApksStepExecution.run(SignApksStep.java:126)
	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
	at hudson.security.ACL.impersonate(ACL.java:290)
	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE

Steps to Reproduce the Problem

  1. Create a build for the master branch of this repo in OpenShift, for the Mobile CI/CD Service
  2. Choose Android for the Platform, and 'Release' as the Build Type (don't tick the "Upload external credentials (Use this option if your Keystore is external to your source code) " checkbox
  3. Start a build and wait for it to fail at the Sign stage

If it's necessary to check that 'external credentials' box and give more input there, then maybe that shouldn't be optional (I have no idea if that's necessary or not). In either case, it might be better if it failed with something more useful than a NullPointerException.

Pipeline fails in "Mobile CI/CD" service (Android, Debug)

Expected Behavior

Pipeline completes successfully.

Actual Behavior

Pipeline fails. It can't find the apk (after it has successfully been built).

Steps to Reproduce the Problem

  1. Create a build for master of this showcase app in Jenkins on OpenShift
  2. Choose 'Android' for 'Platform', and 'Debug' as 'Build Type'
  3. Trigger build, and wait for it to fail. You'll see the following output:
<snip>
BUILD SUCCESSFUL in 1m 35s
46 actionable tasks: 46 executed
Built the following apk(s): 
	/tmp/workspace/myproject/myproject-cordova-upstream-build/platforms/android/app/build/outputs/apk/debug/app-debug.apk

[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Sign)
[Pipeline] echo
Debug Build - Using default developer signing key
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Archive)
Archiving artifacts
[Pipeline] step
ERROR: No artifacts found that match the file pattern "platforms/android/build/outputs/apk/android-debug.apk". Configuration error?
ERROR: ‘platforms/android/build/outputs/apk/android-debug.apk’ doesn’t match anything: ‘platforms’ exists but not ‘platforms/android/build/outputs/apk/android-debug.apk’
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: FAILURE

Add a new linter

What

Currently, we use tslint in our aerogear-js-sdk whereas for our showcase app we are using the ionic lint script. See config file here

Why

We should follow the same conventions as our SDK in our showcase app.

How

  • Add tslint to showcase
  • Add tslint check to circleci

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.