Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.

Commit

Permalink
[Android] Rename packageName from com.taobao.weex to `org.apache.we…
Browse files Browse the repository at this point in the history
…ex` (#2885)

* * [Android] Rename Android package name from 'com.taobao.weex' to 'org.apache.weex'

* * [Core] Fix spelling issue.
  • Loading branch information
YorkShen authored and lucky-chen committed Sep 25, 2019
1 parent 601fcb2 commit 7548ba6
Show file tree
Hide file tree
Showing 418 changed files with 2,309 additions and 2,334 deletions.
9 changes: 6 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,10 @@ script:
esac
if npm run danger -- ci --dangerfile ./dangerfile-android.js | grep -q "hasAndroidFile" ; then
cd android
./gradlew clean assembleRelease --quiet -PbuildRuntimeApi=true ${GRADLE_ABI} --info || exit 1
./gradlew assembleRelease --quiet -PbuildRuntimeApi=false ${GRADLE_ABI} --info || exit 1
./gradlew clean assembleRelease --quiet -PbuildRuntimeApi=true ${GRADLE_ABI} -PapachePackageName="false" --info || exit 1
./gradlew assembleRelease --quiet -PbuildRuntimeApi=false ${GRADLE_ABI} -PapachePackageName="false" --info || exit 1
./gradlew :weex_sdk:assembleRelease --quiet -PbuildRuntimeApi=true ${GRADLE_ABI} -PapachePackageName="true" --info || exit 1
./gradlew :weex_sdk:assembleRelease --quiet -PbuildRuntimeApi=false ${GRADLE_ABI} -PapachePackageName="true" --info || exit 1
fi
;;
"jsfm" )
Expand Down Expand Up @@ -188,7 +190,8 @@ script:
if npm run danger -- ci --dangerfile ./dangerfile-static-check.js | grep -q "hasAndroidFile" ; then
echo "hasAndroidFile"
cd android
./gradlew :weex_sdk:lint --quiet
./gradlew :weex_sdk:lintLegacyRelease -PapachePackageName="false" --quiet
./gradlew :weex_sdk:lintApacheRelease -PapachePackageName="true" --quiet
export TITLE="AndroidLint Result"
cd ../ && npm run danger -- ci -i androidlint --dangerfile ./dangerfile-output.js || exit 1
fi
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@

### Android
* Upgrade targetsdk & compilesdk to 28
* Change Android package name from `com.taobao.weex` to `org.apache.weex`. Ref [link](https://github.com/apache/incubator-weex/tree/master/android) for detail.

## Main Bugfix
29 changes: 23 additions & 6 deletions android/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,28 @@
## Install gradlew
See https://gradle.org/install#with-a-package-manager
## Build Weex
run `gradle build`
Playground app artifact will be under 'playground/build'
run `./gradlew clean assembleRelease` to build `weex_sdk`

### Build Types
For historical reason, the java files of weex_sdk was under the package name of `com.taobao.weex`, despite the fact that they are under `org.apache.weex` now.

In order to provide backward compatibility for users, there are two type of convince binary of Weex generated by different building argument.

#### weex_sdk
`weex_sdk` is the library we give officially support now, where all java files in `.aar` is under `org.apache.weex`.

New users of Weex should always choose `weex_sdk`, while for existing users, using `weex_sdk` could cause compiling issues and you could use `weex_sdk_legacy` for temporary solution. See below for detail.

#### weex_sdk_legacy
`weex_sdk_legacy` is provided only for backward compatibility reason, and **would not be maintained in the future**. Please migrate to `weex_sdk` when you are available.

`weex_sdk_legacy` is built by `./gradlew clean assembleRelease -PapachePackageName="false"`, where all java files in `.aar` is under `com.taobao.weex`

## Android-Studio integrated
Double type `SHIFT` and enter `Build Variants`, will give you build variants window.
* Select `apacheRelease` in the dropdown window of Active Build Variants to enable Android-Studio integrated for files under `org.apache.weex`
* Select `legacyRelease` or `release` in the dropdown window of Active Build Variants to enable Android-Studio integrated for files under `com.taobao.weex`

## The submodule weex-playground
[Weex Playground](https://github.com/apache/incubator-weex-playground) can be used to test and preview weex pages on Android and it has been added as a submodule.
### Relationship between weex and playground
Expand All @@ -17,7 +37,4 @@ When some commits of playground rely on unpublished features of weex-sdk,a SNAP

* Explanation for variable:
$PUBLISH_VERSION The version of snapshot, like 0.26.1.3-SNAPSHOT
$JCENTER_TOKEN The private key for JCenter (https://bintray.com/alibabaweex/maven/weex_sdk/), which is the distribution channel for Android



$JCENTER_TOKEN The private key for JCenter (https://bintray.com/alibabaweex/maven/weex_sdk/), which is the distribution channel for Android
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ ext {
fastjsonLibVersion="1.1.70.android"
//Default value for disableCov is false
disableCov = project.hasProperty("disableCov") && disableCov.equals("true")
useApachePackageName = project.hasProperty('apachePackageName') ? project.property('apachePackageName').toBoolean() : true
useApachePackageName = project.hasProperty('apachePackageName') ? project.property('apachePackageName').toBoolean() : false
implementFromWeex = true
}

Expand Down
1 change: 1 addition & 0 deletions android/sdk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ assets/weex-rax-api.js
/libs/armeabi

/src/legacyRelease/
proguard-rules-legacy.pro
7 changes: 0 additions & 7 deletions android/sdk/README.md

This file was deleted.

16 changes: 12 additions & 4 deletions android/sdk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ android {
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "boolean", "ENABLE_TRACE", "false"
consumerProguardFiles 'proguard-rules.pro'
proguardFiles getDefaultProguardFile('proguard-android.txt'), useApachePackageName ? 'proguard-rules.pro' : 'proguard-rules-legacy.pro'
consumerProguardFiles useApachePackageName ? 'proguard-rules.pro' : 'proguard-rules-legacy.pro'
}

debug {
Expand All @@ -161,10 +161,14 @@ android {

apacheRelease{
initWith release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
consumerProguardFiles 'proguard-rules.pro'
}

legacyRelease{
initWith release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-legacy.pro'
consumerProguardFiles 'proguard-rules-legacy.pro'
}
}

Expand All @@ -186,9 +190,13 @@ android {
sourceSets {
main.assets.srcDirs = ['assets']
main.jniLibs.srcDirs = ['libs']
apacheRelease.java.srcDirs = ['src/main/java']
apacheRelease.manifest.srcFile(new File('src/main/AndroidManifest.xml'))
legacyRelease.java.srcDirs = ['src/legacyRelease/java']
legacyRelease.manifest.srcFile(new File('src/legacyRelease/AndroidManifest.xml'))
if(!project.useApachePackageName){
main.java.srcDirs = ['src/legacyRelease/java']
main.manifest.srcFile (new File('src/legacyRelease/AndroidManifest.xml'))
main.manifest.srcFile(new File('src/legacyRelease/AndroidManifest.xml'))
}
}

Expand Down Expand Up @@ -265,4 +273,4 @@ task weex_core_license(type: com.hierynomus.gradle.license.tasks.LicenseFormat)
'Source/include/JavaScriptCore/**/*.cpp'])
}

preBuild.dependsOn copyAndRenameCppSourceFile, copyAndRenamePackage, copyManifest, copyASanLib, checkNdkVersion, licenseFormat
preBuild.dependsOn copyAndRenameCppSourceFile, copyAndRenamePackage, copyManifest, copyProguard, copyASanLib, checkNdkVersion, licenseFormat
51 changes: 38 additions & 13 deletions android/sdk/buildSrc/packageName.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ task copyAndRenamePackage(type: Copy) {
doFirst {
delete new File('src/legacyRelease/java')
}
from new File('src/main/java/com/taobao/weex')
into new File('src/legacyRelease/java/org/apache/weex')
from new File('src/main/java/org/apache/weex')
into new File('src/legacyRelease/java/com/taobao/weex')
filter { String line ->
line.replaceAll(/^(package com\.taobao)(\.weex.*)$/, { _, packageName, suffix ->
"package org.apache${suffix}"
}).replaceAll(/^(import com\.taobao)(\.weex.*)$/, { _, packageName, suffix ->
"import org.apache${suffix}"
}).replaceAll(/^(import static com\.taobao)(\.weex.*)$/, { _, packageName, suffix ->
"import static org.apache${suffix}"
line.replaceAll(/^(package org\.apache)(\.weex.*)$/, { _, packageName, suffix ->
"package com.taobao${suffix}"
}).replaceAll(/^(import org\.apache)(\.weex.*)$/, { _, packageName, suffix ->
"import com.taobao${suffix}"
}).replaceAll(/^(import static org\.apache)(\.weex.*)$/, { _, packageName, suffix ->
"import static com.taobao${suffix}"
})
}
}
Expand All @@ -25,8 +25,24 @@ task copyManifest(type: Copy){
from new File('src/main/AndroidManifest.xml')
into new File('src/legacyRelease')
filter { String line ->
line.replaceAll(/(com\.taobao)(\.weex.*)/, { _, packageName, suffix ->
"org.apache${suffix}"
line.replaceAll(/(org\.apache)(\.weex.*)/, { _, packageName, suffix ->
"com.taobao${suffix}"
})
}
}
}

task copyProguard(type: Copy){
if(!project.useApachePackageName){
doFirst {
delete new File('proguard-rules-legacy.pro')
}
from new File('proguard-rules.pro')
into new File('.')
rename 'proguard-rules.pro', 'proguard-rules-legacy.pro'
filter { String line ->
line.replaceAll(/(org\.apache)(\.weex.*)/, { _, packageName, suffix ->
"com.taobao${suffix}"
})
}
}
Expand All @@ -49,10 +65,19 @@ task copyAndRenameCppSourceFile(type: Copy, dependsOn: copyOtherCppFile){
into new File('src/legacyRelease/cpp')
include '**/*.cpp', '**/*.cc', '**/*.c', '**/*.h', '**/*.hpp'
filter { String line ->
line.replaceAll('(.*".*)(com/taobao/weex)(.*".*)', { _, prefix, packageName, suffix ->
logger.info("Content substation in .cpp/.h files happpened, \n Input: ${line}, \n Output: ${prefix}org/apache/weex${suffix}")
"${prefix}org/apache/weex${suffix}"
line.replaceAll('(.*".*)(org/apache/weex)(.*".*)', { _, prefix, packageName, suffix ->
logger.info("Content substation in .cpp/.h files happpened, \n Input: ${line}, \n Output: ${prefix}com/taobao/weex${suffix}")
"${prefix}com/taobao/weex${suffix}"
})
}
}
}

gradle.taskGraph.beforeTask { Task task ->
if(task.name == 'assembleApacheRelease'){
throw new StopActionException('Not Supported. assembleApacheRelease is not supported, please use the following command instead.\n assembleRelease -PapachePackageName="true"')
}
else if(task.name == 'assembleLegacyRelease'){
throw new StopActionException('Not Supported. assembleLegacyRelease is not supported, please use the following command instead.\n assembleRelease -PapachePackageName="false"')
}
}
10 changes: 5 additions & 5 deletions android/sdk/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-keep class com.taobao.weex.bridge.** { *; }
-keep class com.taobao.weex.layout.** { *; }
-keep class com.taobao.weex.WXSDKEngine { *; }
-keep class com.taobao.weex.base.SystemMessageHandler { *; }
-dontwarn com.taobao.weex.bridge.**
-keep class org.apache.weex.bridge.** { *; }
-keep class org.apache.weex.layout.** { *; }
-keep class org.apache.weex.WXSDKEngine { *; }
-keep class org.apache.weex.base.SystemMessageHandler { *; }
-dontwarn org.apache.weex.bridge.**
2 changes: 1 addition & 1 deletion android/sdk/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ specific language governing permissions and limitations
under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.taobao.weex">
package="org.apache.weex">
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

import android.view.View;

import com.taobao.weex.ui.component.WXComponent;
import org.apache.weex.ui.component.WXComponent;

/**
* Created by sospartan on 14/06/2017.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

/**
* Listener class for activity lifecycle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

import android.view.View;
import org.apache.weex.common.WXRenderStrategy;

public interface IWXRenderListener {

/**
* If {@link com.taobao.weex.common.WXRenderStrategy#APPEND_ASYNC} is applied, this method
* If {@link WXRenderStrategy#APPEND_ASYNC} is applied, this method
* will be invoked when the rendering of first view is finish.
* If {@link com.taobao.weex.common.WXRenderStrategy#APPEND_ONCE} is applied, this method will
* If {@link WXRenderStrategy#APPEND_ONCE} is applied, this method will
* be invoked when the rendering of the view tree is finished.
*/
void onViewCreated(WXSDKInstance instance, View view);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

public interface IWXStatisticsListener {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,22 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

import android.support.annotation.NonNull;
import com.taobao.weex.adapter.ClassLoaderAdapter;
import com.taobao.weex.adapter.IDrawableLoader;
import com.taobao.weex.adapter.IWXHttpAdapter;
import com.taobao.weex.adapter.IWXImgLoaderAdapter;
import com.taobao.weex.adapter.IWXJSExceptionAdapter;
import com.taobao.weex.adapter.IWXJsFileLoaderAdapter;
import com.taobao.weex.adapter.IWXJscProcessManager;
import com.taobao.weex.adapter.IWXSoLoaderAdapter;
import com.taobao.weex.adapter.IWXUserTrackAdapter;
import com.taobao.weex.adapter.URIAdapter;
import com.taobao.weex.appfram.storage.IWXStorageAdapter;
import com.taobao.weex.appfram.websocket.IWebSocketAdapterFactory;
import com.taobao.weex.performance.IApmGenerator;
import org.apache.weex.adapter.ClassLoaderAdapter;
import org.apache.weex.adapter.IDrawableLoader;
import org.apache.weex.adapter.IWXHttpAdapter;
import org.apache.weex.adapter.IWXImgLoaderAdapter;
import org.apache.weex.adapter.IWXJSExceptionAdapter;
import org.apache.weex.adapter.IWXJsFileLoaderAdapter;
import org.apache.weex.adapter.IWXJscProcessManager;
import org.apache.weex.adapter.IWXSoLoaderAdapter;
import org.apache.weex.adapter.IWXUserTrackAdapter;
import org.apache.weex.adapter.URIAdapter;
import org.apache.weex.appfram.storage.IWXStorageAdapter;
import org.apache.weex.appfram.websocket.IWebSocketAdapterFactory;
import org.apache.weex.performance.IApmGenerator;
import java.util.LinkedList;
import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

import android.annotation.TargetApi;
import android.content.Context;
Expand All @@ -25,7 +25,7 @@
import android.view.View;


import com.taobao.weex.render.WXAbstractRenderContainer;
import org.apache.weex.render.WXAbstractRenderContainer;

/**
* Created by sospartan on 08/10/2016.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

import android.text.TextUtils;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
package com.taobao.weex;
package org.apache.weex;

import static android.content.Context.MODE_PRIVATE;

Expand All @@ -31,15 +31,16 @@
import android.os.Environment;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import com.taobao.weex.common.WXConfig;
import com.taobao.weex.utils.FontDO;
import com.taobao.weex.utils.LogLevel;
import com.taobao.weex.utils.TypefaceUtil;
import com.taobao.weex.utils.WXFileUtils;
import com.taobao.weex.utils.WXLogUtils;
import com.taobao.weex.utils.WXSoInstallMgrSdk;
import com.taobao.weex.utils.WXUtils;
import com.taobao.weex.utils.WXViewUtils;
import org.apache.weex.R;
import org.apache.weex.common.WXConfig;
import org.apache.weex.utils.FontDO;
import org.apache.weex.utils.LogLevel;
import org.apache.weex.utils.TypefaceUtil;
import org.apache.weex.utils.WXFileUtils;
import org.apache.weex.utils.WXLogUtils;
import org.apache.weex.utils.WXSoInstallMgrSdk;
import org.apache.weex.utils.WXUtils;
import org.apache.weex.utils.WXViewUtils;
import dalvik.system.PathClassLoader;
import java.io.BufferedReader;
import java.io.File;
Expand Down
Loading

0 comments on commit 7548ba6

Please sign in to comment.