Skip to content

Commit b4e181a

Browse files
authored
Merge pull request #128 from weexteam/feature-20170319
Feature 20170319
2 parents 92b74b4 + c0cabfa commit b4e181a

File tree

5 files changed

+81
-55
lines changed

5 files changed

+81
-55
lines changed

src/plugin/install.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ function handleInstall(dir, pluginName, version, option){
8181
}
8282
var name = option.ios&&option.ios.name?option.ios.name:pluginName
8383

84+
8485
if(option.ios&&option.ios.plist){
8586
var projectPath;
8687
if(!project.isWorkspace){
@@ -91,15 +92,15 @@ function handleInstall(dir, pluginName, version, option){
9192

9293
if(option.ios&&option.ios.type=="pod"){
9394

94-
const buildPatch = podfile.makeBuildPatch(name, version);
95+
var iosVersion = option.ios&&option.ios.version || version
96+
const buildPatch = podfile.makeBuildPatch(name, iosVersion);
9597
podfile.applyPatch(path.join(dir,"Podfile"), buildPatch);
9698
console.log(name +" install success in ios project")
9799
}
98100
else{
99101
npmHelper.fetchCache(pluginName, version, function (packageTGZ, packageDir) {
100102
npmHelper.unpackTgz(packageTGZ, path.join(process.cwd(),"weexplugins",pluginName), function(){
101103
var targetPath = path.join(process.cwd(), "weexplugins", pluginName);
102-
103104
const buildPatch = podfile.makeBuildPatch(targetPath, "");
104105
podfile.applyPatch(path.join(dir,"Podfile"), buildPatch);
105106
console.log(name +" install success in ios project")
@@ -112,7 +113,8 @@ function handleInstall(dir, pluginName, version, option){
112113
else if (utils.isAndroidProject(dir)){
113114
var name = option.android&&option.android.name?option.android.name:pluginName
114115
if(option.android&&option.android.type == "maven"){
115-
const buildPatch = gradle.makeBuildPatch(name, version, option.android.groupId||"");
116+
var androidVersion = option.android&&option.android.version || version
117+
const buildPatch = gradle.makeBuildPatch(name, androidVersion, option.android.groupId||"");
116118
gradle.applyPatch(path.join(dir,"build.gradle"), buildPatch);
117119
console.log(name +" install success in android project")
118120
}

src/plugin/uninstall.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,15 @@ function handleUninstall(dir, pluginName, version, option){
8080
return ;
8181
}
8282
var name = option.ios&&option.ios.name?option.ios.name:pluginName
83-
const buildPatch = podfile.makeBuildPatch(name, version);
83+
var iosVersion = option.ios&&option.ios.version || version
84+
const buildPatch = podfile.makeBuildPatch(name, iosVersion);
8485
podfile.revokePatch(path.join(dir,"Podfile"), buildPatch);
8586
console.log(name +" has removed in ios project")
8687
}
8788
else if (utils.isAndroidProject(dir)){
88-
const buildPatch = gradle.makeBuildPatch(name, version, option.android.groupId ||"");
89+
var name = option.android&&option.android.name?option.android.name:pluginName
90+
var androidVersion = option.android&&option.android.version || version
91+
const buildPatch = gradle.makeBuildPatch(name, androidVersion, option.android.groupId ||"");
8992
gradle.revokePatch(path.join(dir,"build.gradle"), buildPatch);
9093
console.log(name +" has removed in android")
9194
}

src/publish/market.js

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ exports.publish = function (name, namespace, fullname,ali, version, extend) {
3535
if(extend&&extend.weexpack == "0.4.0"){
3636
url += "&wpv=4"
3737
}
38+
3839
post(url, extend).then(function (res) {
3940
if (res.success) {
4041
console.log();

src/utils/index.js

+40-30
Original file line numberDiff line numberDiff line change
@@ -162,41 +162,51 @@ const utils = {
162162

163163
isNewVersionPlugin : function(pluginName, version, callback) {
164164
var trynum =0
165-
var load = function(npmName){
166-
npm.load(function(){
167-
npm.commands.info([npmName+"@"+version], true, function(error,result){
168-
169-
if(error&&trynum==0){
170-
trynum++;
171-
load("weex-plugin--"+npmName)
172-
}
173-
else if(error&&trynum!==0){
174-
throw new Error(error)
175-
}
176-
else {
177-
var weexpackVersion = result[version].weexpack ;
178-
179-
if(weexpackVersion&&weexpackVersion == "0.4.0"){
180-
callback({
181-
ios: result[version].ios,
182-
android: result[version].android,
183-
version:result[version].version,
184-
name:result[version].name,
185-
weexpack:result[version].weexpack,
186-
pluginDependencies:result[version].pluginDependencies
187-
})
165+
npm.load(function(){
166+
var load = function(npmName){
167+
168+
npm.commands.info([npmName+"@"+version], true, function(error,result){
169+
170+
if(error&&trynum==0){
171+
trynum++;
172+
if(npmName == "weex-gcanvas"){
173+
var prefix = "weex-plugin--"
174+
}
175+
else {
176+
var prefix = "weex-plugin-"
177+
}
178+
load(prefix+npmName)
188179
}
189-
else{
190-
callback(false)
180+
else if(error&&trynum!==0){
181+
throw new Error(error)
182+
}
183+
else {
184+
var weexpackVersion = result[version].weexpack ;
185+
186+
if(weexpackVersion&&weexpackVersion == "0.4.0"){
187+
callback({
188+
ios: result[version].ios,
189+
android: result[version].android,
190+
version:result[version].version,
191+
name:result[version].name,
192+
weexpack:result[version].weexpack,
193+
pluginDependencies:result[version].pluginDependencies
194+
})
195+
}
196+
else{
197+
callback(false)
198+
}
191199
}
192-
}
193200

194-
})
195-
})
201+
})
202+
203+
204+
}
205+
load(pluginName)
206+
207+
})
196208

197-
}
198209

199-
load(pluginName)
200210
}
201211

202212

src/utils/npm.js

+30-20
Original file line numberDiff line numberDiff line change
@@ -39,32 +39,42 @@ exports.publish = function publish(tnpm, verbose, dir) {
3939

4040
exports.getLastestVersion = function (name, callback){
4141
var trynum = 0
42-
var load = function(npmName){
43-
npm.load(function() {
44-
npm.commands.info([npmName, "version"], true, function (error, result) {
45-
if (error&&trynum==0) {
46-
trynum++
47-
load(exports.prefix+npmName, callback)
48-
}
49-
else if(error&&trynum!==0){
50-
throw new Error(error)
51-
}
52-
else {
53-
var version;
54-
for (var p in result) {
55-
version = p;
42+
npm.load(function() {
43+
44+
var load = function(npmName){
45+
npm.commands.info([npmName, "version"], true, function (error, result) {
46+
if (error&&trynum==0) {
47+
trynum++
48+
if(npmName == "weex-gcanvas"){
49+
var prefix = "weex-plugin--"
50+
}
51+
else {
52+
var prefix = "weex-plugin-"
53+
}
54+
load(prefix+npmName)
55+
}
56+
else if(error&&trynum!==0){
57+
throw new Error(error)
58+
}
59+
else {
60+
var version;
61+
for (var p in result) {
62+
version = p;
63+
}
64+
callback(version)
5665
}
5766

58-
callback(version)
59-
}
67+
})
6068

6169

62-
})
63-
})
64-
}
70+
}
71+
6572

66-
load(name);
73+
load(name);
6774

75+
76+
77+
})
6878
}
6979

7080

0 commit comments

Comments
 (0)