Skip to content

Commit

Permalink
Merge pull request #128 from weexteam/feature-20170319
Browse files Browse the repository at this point in the history
Feature 20170319
  • Loading branch information
zhangquan authored Apr 11, 2017
2 parents 92b74b4 + c0cabfa commit b4e181a
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 55 deletions.
8 changes: 5 additions & 3 deletions src/plugin/install.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ function handleInstall(dir, pluginName, version, option){
}
var name = option.ios&&option.ios.name?option.ios.name:pluginName


if(option.ios&&option.ios.plist){
var projectPath;
if(!project.isWorkspace){
Expand All @@ -91,15 +92,15 @@ function handleInstall(dir, pluginName, version, option){

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

const buildPatch = podfile.makeBuildPatch(name, version);
var iosVersion = option.ios&&option.ios.version || version
const buildPatch = podfile.makeBuildPatch(name, iosVersion);
podfile.applyPatch(path.join(dir,"Podfile"), buildPatch);
console.log(name +" install success in ios project")
}
else{
npmHelper.fetchCache(pluginName, version, function (packageTGZ, packageDir) {
npmHelper.unpackTgz(packageTGZ, path.join(process.cwd(),"weexplugins",pluginName), function(){
var targetPath = path.join(process.cwd(), "weexplugins", pluginName);

const buildPatch = podfile.makeBuildPatch(targetPath, "");
podfile.applyPatch(path.join(dir,"Podfile"), buildPatch);
console.log(name +" install success in ios project")
Expand All @@ -112,7 +113,8 @@ function handleInstall(dir, pluginName, version, option){
else if (utils.isAndroidProject(dir)){
var name = option.android&&option.android.name?option.android.name:pluginName
if(option.android&&option.android.type == "maven"){
const buildPatch = gradle.makeBuildPatch(name, version, option.android.groupId||"");
var androidVersion = option.android&&option.android.version || version
const buildPatch = gradle.makeBuildPatch(name, androidVersion, option.android.groupId||"");
gradle.applyPatch(path.join(dir,"build.gradle"), buildPatch);
console.log(name +" install success in android project")
}
Expand Down
7 changes: 5 additions & 2 deletions src/plugin/uninstall.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,15 @@ function handleUninstall(dir, pluginName, version, option){
return ;
}
var name = option.ios&&option.ios.name?option.ios.name:pluginName
const buildPatch = podfile.makeBuildPatch(name, version);
var iosVersion = option.ios&&option.ios.version || version
const buildPatch = podfile.makeBuildPatch(name, iosVersion);
podfile.revokePatch(path.join(dir,"Podfile"), buildPatch);
console.log(name +" has removed in ios project")
}
else if (utils.isAndroidProject(dir)){
const buildPatch = gradle.makeBuildPatch(name, version, option.android.groupId ||"");
var name = option.android&&option.android.name?option.android.name:pluginName
var androidVersion = option.android&&option.android.version || version
const buildPatch = gradle.makeBuildPatch(name, androidVersion, option.android.groupId ||"");
gradle.revokePatch(path.join(dir,"build.gradle"), buildPatch);
console.log(name +" has removed in android")
}
Expand Down
1 change: 1 addition & 0 deletions src/publish/market.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ exports.publish = function (name, namespace, fullname,ali, version, extend) {
if(extend&&extend.weexpack == "0.4.0"){
url += "&wpv=4"
}

post(url, extend).then(function (res) {
if (res.success) {
console.log();
Expand Down
70 changes: 40 additions & 30 deletions src/utils/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,41 +162,51 @@ const utils = {

isNewVersionPlugin : function(pluginName, version, callback) {
var trynum =0
var load = function(npmName){
npm.load(function(){
npm.commands.info([npmName+"@"+version], true, function(error,result){

if(error&&trynum==0){
trynum++;
load("weex-plugin--"+npmName)
}
else if(error&&trynum!==0){
throw new Error(error)
}
else {
var weexpackVersion = result[version].weexpack ;

if(weexpackVersion&&weexpackVersion == "0.4.0"){
callback({
ios: result[version].ios,
android: result[version].android,
version:result[version].version,
name:result[version].name,
weexpack:result[version].weexpack,
pluginDependencies:result[version].pluginDependencies
})
npm.load(function(){
var load = function(npmName){

npm.commands.info([npmName+"@"+version], true, function(error,result){

if(error&&trynum==0){
trynum++;
if(npmName == "weex-gcanvas"){
var prefix = "weex-plugin--"
}
else {
var prefix = "weex-plugin-"
}
load(prefix+npmName)
}
else{
callback(false)
else if(error&&trynum!==0){
throw new Error(error)
}
else {
var weexpackVersion = result[version].weexpack ;

if(weexpackVersion&&weexpackVersion == "0.4.0"){
callback({
ios: result[version].ios,
android: result[version].android,
version:result[version].version,
name:result[version].name,
weexpack:result[version].weexpack,
pluginDependencies:result[version].pluginDependencies
})
}
else{
callback(false)
}
}
}

})
})
})


}
load(pluginName)

})

}

load(pluginName)
}


Expand Down
50 changes: 30 additions & 20 deletions src/utils/npm.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,32 +39,42 @@ exports.publish = function publish(tnpm, verbose, dir) {

exports.getLastestVersion = function (name, callback){
var trynum = 0
var load = function(npmName){
npm.load(function() {
npm.commands.info([npmName, "version"], true, function (error, result) {
if (error&&trynum==0) {
trynum++
load(exports.prefix+npmName, callback)
}
else if(error&&trynum!==0){
throw new Error(error)
}
else {
var version;
for (var p in result) {
version = p;
npm.load(function() {

var load = function(npmName){
npm.commands.info([npmName, "version"], true, function (error, result) {
if (error&&trynum==0) {
trynum++
if(npmName == "weex-gcanvas"){
var prefix = "weex-plugin--"
}
else {
var prefix = "weex-plugin-"
}
load(prefix+npmName)
}
else if(error&&trynum!==0){
throw new Error(error)
}
else {
var version;
for (var p in result) {
version = p;
}
callback(version)
}

callback(version)
}
})


})
})
}
}


load(name);
load(name);



})
}


Expand Down

0 comments on commit b4e181a

Please sign in to comment.