Skip to content

Commit d78b2a3

Browse files
authored
Merge pull request #973 from NativeScript/pete/prepare-release
Merge "master" into "release"
2 parents 7040468 + 2c76db9 commit d78b2a3

File tree

245 files changed

+8666
-4878
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

245 files changed

+8666
-4878
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Please, provide the details below:
44

5-
### Did you verify this is a real problem by searching [Stack Overflow](http://stackoverflow.com/questions/tagged/nativescript) and the [other open issues in this repo](https://github.com/NativeScript/nativescript/issues)?
5+
### Did you verify this is a real problem by searching the [NativeScript Forum](http://forum.nativescript.org) and the [other open issues in this repo](https://github.com/NativeScript/nativescript/issues)?
66

77
### Tell us about the problem
88
<!--Please, ensure your title is less than 63 characters long and starts with a capital
@@ -40,4 +40,5 @@ Please provide us with the log by following these steps:
4040
<!--
4141
Please provide us with the necessary information to reproduce your problem. That includes but is not limited to presenting us with steps to reproduce the problem, or a small repo example.
4242
-->
43+
Consider using the [playground](https://play.nativescript.org) to provide the code you have issues with.
4344

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@
44
[submodule "test-app/app/src/main/assets/app/shared"]
55
path = test-app/app/src/main/assets/app/shared
66
url = https://github.com/NativeScript/common-runtime-tests-app.git
7+
[submodule "test-app/build-tools/android-dts-generator"]
8+
path = test-app/build-tools/android-dts-generator
9+
url = https://github.com/NativeScript/android-dts-generator.git
10+
branch = master

.travis.yml

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,6 @@ env:
1010

1111
matrix:
1212
include:
13-
- stage: "Static Binding Generator Parser Tests"
14-
language: node_js
15-
node_js: "6"
16-
git:
17-
submodules: false
18-
script:
19-
- cd android-static-binding-generator
20-
- npm install && node run-tests
21-
- cd ..
22-
- stage: "Static Binding Generator Class Generator Tests"
23-
language: android
24-
jdk: oraclejdk8
25-
git:
26-
submodules: false
27-
script:
28-
- "android-static-binding-generator/project/staticbindinggenerator/gradlew test --project-dir android-static-binding-generator/project/staticbindinggenerator/"
2913
- stage: "Build and Tests"
3014
sudo: true
3115
language: android
@@ -41,15 +25,13 @@ matrix:
4125
submodules: false
4226
script:
4327
# (master branch) build the runtime twice - optimized, and regular packages, skip on PRs
44-
# test-app/gradlew runtest will take care of building the runtime for its testing needs
28+
# test-app/gradlew runtests will take care of building the runtime for its testing needs
4529
- 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bash ./gradlew -PpreReleaseVersion=$PACKAGE_VERSION -PgitCommitVersion=$TRAVIS_COMMIT --stacktrace; fi'
4630
- echo no | android create avd --force -n $EMULATOR_NAME-$EMULATOR_API_LEVEL -t android-$EMULATOR_API_LEVEL --abi $ANDROID_ABI -c 12M
4731
- emulator -avd $EMULATOR_NAME-$EMULATOR_API_LEVEL -no-skin -no-audio -no-window &
4832
- android-wait-for-emulator
49-
- cd test-app
5033
- "./gradlew runtest --stacktrace"
5134
- adb -e logcat -d 300
52-
- cd ..
5335
before_install:
5436
- echo "y" | sdkmanager "cmake;3.6.4111459"
5537
- sed -i 's/[email protected]:/https:\/\/github.com\//' .gitmodules

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
4.0.0-rc
2+
==
3+
4+
## Breaking Changes
5+
6+
- [Rewrite the build script routine to no longer use flavors as the primary mechanism to apply nativescript plugin Android configurations (#890)](https://github.com/NativeScript/android-runtime/issues/890) - **If you see the `All flavors must now belong to a named flavor dimension.` build error, ensure that you are using the latest CLI. Plugins will be built implicitly by the CLI, version 4.0.0-rc or newer.**
7+
- [Application package outputs are now located at `platforms/android/app/build/outputs/<build-type>/<flavor - if any>/app-<build-type>.apk` (#938)](https://github.com/NativeScript/android-runtime/issues/938)
8+
9+
## What's New
10+
11+
- [Respect `.jar` and `.aar` libraries from `App_Resources/Android/libs` (#899)](https://github.com/NativeScript/android-runtime/issues/899)
12+
- [Add user-defined Android project files - `.java`, resources, assets in `App_Resources/Android` (#700)](https://github.com/NativeScript/android-runtime/issues/700) - **Enabled after updating the App_Resources/Android subdirectory structure. Use `tns resources update android` with CLI 4.0.0-rc or newer.**
13+
- [Console API improvements - file name, line, column support in Chrome DevTools; Objects are expanded to JSON representations (#894) (#884)](https://github.com/NativeScript/android-runtime/pull/894) - **Replaces the console API in the `tns-core-modules`.**
14+
- [Update Gradle to 4.1 and Android plugin for Gradle to 3.0.1 (#938)](https://github.com/NativeScript/android-runtime/issues/938)
15+
16+
## Bug Fixes
17+
18+
- [fix: static binding generator creating wrong files, when two extended classes have the same name (#692)](https://github.com/NativeScript/android-runtime/issues/692)
19+
120
3.4.2
221
==
322

CODE_OF_CONDUCT.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# NativeScript Community Code of Conduct
2+
3+
Our community members come from all walks of life and are all at different stages of their personal and professional journeys. To support everyone, we've prepared a short code of conduct. Our mission is best served in an environment that is friendly, safe, and accepting; free from intimidation or harassment.
4+
5+
Towards this end, certain behaviors and practices will not be tolerated.
6+
7+
## tl;dr
8+
9+
- Be respectful.
10+
- We're here to help.
11+
- Abusive behavior is never tolerated.
12+
- Violations of this code may result in swift and permanent expulsion from the NativeScript community channels.
13+
14+
## Administrators
15+
16+
- Dan Wilson (@DanWilson on Slack)
17+
- Jen Looper (@jen.looper on Slack)
18+
- TJ VanToll (@tjvantoll on Slack)
19+
20+
## Scope
21+
22+
We expect all members of the NativeScript community, including administrators, users, facilitators, and vendors to abide by this Code of Conduct at all times in our community venues, online and in person, and in one-on-one communications pertaining to NativeScript affairs.
23+
24+
This policy covers the usage of the NativeScript Slack community, as well as the NativeScript support forums, NativeScript GitHub repositories, the NativeScript website, and any NativeScript-related events. This Code of Conduct is in addition to, and does not in any way nullify or invalidate, any other terms or conditions related to use of NativeScript.
25+
26+
The definitions of various subjective terms such as "discriminatory", "hateful", or "confusing" will be decided at the sole discretion of the NativeScript administrators.
27+
28+
## Friendly, Harassment-Free Space
29+
30+
We are committed to providing a friendly, safe, and welcoming environment for all, regardless of gender identity, sexual orientation, disability, ethnicity, religion, age, physical appearance, body size, race, or similar personal characteristics.
31+
32+
We ask that you please respect that people have differences of opinion regarding technical choices, and acknowledge that every design or implementation choice carries a trade-off and numerous costs. There is seldom a single right answer. A difference of technology preferences is never a license to be rude.
33+
34+
Any spamming, trolling, flaming, baiting, or other attention-stealing behaviour is not welcome, and will not be tolerated.
35+
36+
Harassing other users of NativeScript is never tolerated, whether via public or private media.
37+
38+
Avoid using offensive or harassing package names, nicknames, or other identifiers that might detract from a friendly, safe, and welcoming environment for all.
39+
40+
Harassment includes, but is not limited to: harmful or prejudicial verbal or written comments related to gender identity, sexual orientation, disability, ethnicity, religion, age, physical appearance, body size, race, or similar personal characteristics; inappropriate use of nudity, sexual images, and/or sexually explicit language in public spaces; threats of physical or non-physical harm; deliberate intimidation, stalking or following; harassing photography or recording; sustained disruption of talks or other events; inappropriate physical contact; and unwelcome sexual attention.
41+
42+
## Acceptable Content
43+
44+
The NativeScript administrators reserve the right to make judgement calls about what is and isn't appropriate in published content. These are guidelines to help you be successful in our community.
45+
46+
Content must contain something applicable to the previously stated goals of the NativeScript community. "Spamming", that is, publishing any form of content that is not applicable, is not allowed.
47+
48+
Content must not contain illegal or infringing content. You should only publish content to NativeScript properties if you have the right to do so. This includes complying with all software license agreements or other intellectual property restrictions. For example, redistributing an MIT-licensed module with the copyright notice removed, would not be allowed. You will be responsible for any violation of laws or others’ intellectual property rights.
49+
50+
Content must not be malware. For example, content (code, video, pictures, words, etc.) which is designed to maliciously exploit or damage computer systems, is not allowed.
51+
52+
Content name, description, and other visible metadata must not include abusive, inappropriate, or harassing content.
53+
54+
## Reporting Violations of this Code of Conduct
55+
56+
If you believe someone is harassing you or has otherwise violated this Code of Conduct, please contact the administrators and send us an abuse report. If this is the initial report of a problem, please include as much detail as possible. It is easiest for us to address issues when we have more context.
57+
58+
## Consequences
59+
60+
All content published to the NativeScript community channels is hosted at the sole discretion of the NativeScript administrators.
61+
62+
Unacceptable behavior from any community member, including sponsors, employees, customers, or others with decision-making authority, will not be tolerated.
63+
64+
Anyone asked to stop unacceptable behavior is expected to comply immediately.
65+
66+
If a community member engages in unacceptable behavior, the NativeScript administrators may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event or service).
67+
68+
## Addressing Grievances
69+
70+
If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify the administrators. We will do our best to ensure that your grievance is handled appropriately.
71+
72+
In general, we will choose the course of action that we judge as being most in the interest of fostering a safe and friendly community.
73+
74+
## Contact Info
75+
Please contact Dan Wilson @DanWilson if you need to report a problem or address a grievance related to an abuse report.
76+
77+
You are also encouraged to contact us if you are curious about something that might be "on the line" between appropriate and inappropriate content. We are happy to provide guidance to help you be a successful part of our community.
78+
79+
## Credit and License
80+
81+
This Code of Conduct borrows heavily from the WADE Code of Conduct, which is derived from the NodeBots Code of Conduct, which in turn borrows from the npm Code of Conduct, which was derived from the Stumptown Syndicate Citizen's Code of Conduct, and the Rust Project Code of Conduct.
82+
83+
This document may be reused under a Creative Commons Attribution-ShareAlike License.

LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ Apache License
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright (c) 2015-2016 Telerik AD
189+
Copyright (c) 2015-2018 Telerik AD
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.
@@ -198,4 +198,4 @@ Apache License
198198
distributed under the License is distributed on an "AS IS" BASIS,
199199
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200200
See the License for the specific language governing permissions and
201-
limitations under the License.
201+
limitations under the License.

README.md

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,42 @@
1+
# Android Runtime for NativeScript
12
[![Build Status](https://travis-ci.org/NativeScript/android-runtime.svg?branch=master)](https://travis-ci.org/NativeScript/android-runtime)
3+
[![Waffle.io - NativeScript Android Runtime](https://badge.waffle.io/NativeScript/android-runtime.svg?columns=In%20Progress)](https://waffle.io/NativeScript/android-runtime)
24

3-
# Android-Runtime
4-
Contains the source code for the NativeScript's Android runtime. The android-runtime is a main component used in [NativeScript](https://www.nativescript.org/).
5+
Contains the source code for the NativeScript's Android Runtime. [NativeScript](https://www.nativescript.org/) is a framework which enables developers to write truly native mobile applications for Android and iOS using JavaScript and CSS. Each mobile platform has its own ecosystem and offers completely different development tools and language(s) - Java for Android and Objective C (Swift) for iOS. In order to translate JavaScript code to the corresponding native APIs some kind of proxy mechanism is needed. This is exactly what the "Runtime" parts of NativeScript are responsible for. The Android Runtime may be thought of as "The Bridge" between the JavaScript and Android worlds. A NativeScript application for Android is a standard native package (apk) which besides the JavaScript files embed the runtime as well.
56

6-
# Main Projects
7+
<!-- TOC depthFrom:2 -->
8+
9+
- [Main Projects](#main-projects)
10+
- [Helper Projects](#helper-projects)
11+
- [Architecture Diagram](#architecture-diagram)
12+
- [Build Prerequisites](#build-prerequisites)
13+
- [How to build](#how-to-build)
14+
- [How to run tests](#how-to-run-tests)
15+
- [Get Help](#get-help)
16+
17+
<!-- /TOC -->
18+
19+
## Main Projects
720
The repo is structured in the following projects (ordered by dependencies):
821

922
* [**android-metadata-generator**](android-metadata-generator) - generates metadata necessary for the Android Runtime.
1023
* [**android-binding-generator**](test-app/runtime-binding-generator) - enables Java & Android types to be dynamically created at runtime. Needed by the `extend` routine.
1124
* [**android-runtime**](test-app/runtime) - contains the core logic behind the NativeScript's Android Runtime. This project contains native C++ code and needs the Android NDK to build properly.
1225
* [**android-runtime-testapp**](test-app/app) - this is a vanilla Android Application, which contains the tests for the runtime project.
1326

14-
# Helper Projects
27+
## Helper Projects
1528

1629
* [**android-static-binding-generator**](android-static-binding-generator) - build tool that generates bindings based on the user's javascript code.
1730
* [**project-template**](build-artifacts/project-template-gradle) - this is an empty placeholder Android Application project, used by the [NativeScript CLI](https://github.com/NativeScript/nativescript-cli) when building an Android project.
1831

19-
# Build Prerequisites
32+
## Architecture Diagram
33+
The NativeScript Android Runtime architecture can be summarized in the following diagram.
34+
35+
![Android Runtime diagram](https://github.com/NativeScript/docs/blob/master/docs/img/ns-runtime-android.png)
36+
37+
For more details on how it works, read the [documentation](https://docs.nativescript.org/runtimes/android/overview).
38+
39+
## Build Prerequisites
2040
Following are the minimal prerequisites to build the runtime package.
2141

2242
* Install the latest [Android Studio ](https://developer.android.com/studio/index.html).
@@ -25,7 +45,7 @@ Following are the minimal prerequisites to build the runtime package.
2545
* Download Android Support Repository through the Android SDK Manager
2646
* Download Build Tools 25.0.2 through the Android SDK Manager.
2747

28-
# How to build
48+
## How to Build
2949

3050
* Run command
3151

@@ -46,7 +66,7 @@ Following are the minimal prerequisites to build the runtime package.
4666

4767
`Note:` To cut the build time in half and package only the optimized (stripped) version of the runtime package comment out 'tasks.generateRuntimeAar.execute()' in the [build.gradle](https://github.com/NativeScript/android-runtime/blob/v3.0.0-rc.1/build.gradle#L114) script.
4868

49-
# How to run tests
69+
## How to Run Tests
5070

5171
* Go to subfolder test-app after you built the runtime.
5272
* Start an emulator or connect a device.
@@ -56,3 +76,6 @@ Following are the minimal prerequisites to build the runtime package.
5676
```Shell
5777
gradlew runtest
5878
```
79+
80+
## Get Help
81+
Please, use [github issues](https://github.com/NativeScript/android-runtime/issues) strictly for [reporting bugs](CONTRIBUTING.md#reporting-bugs) or [requesting features](CONTRIBUTING.md#requesting-new-features). For general questions and support, check out the [NativeScript community forum](https://discourse.nativescript.org/) or ask our experts in [NativeScript community Slack channel](http://developer.telerik.com/wp-login.php?action=slack-invitation).

android-metadata-generator/build.gradle

Lines changed: 0 additions & 131 deletions
This file was deleted.
Binary file not shown.

android-metadata-generator/gradle/wrapper/gradle-wrapper.properties

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)