快速生成Plugman中的"lib-file"、"source-file"的xml内容

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/78755362

目录结果:



工具类:

package com.inforstack.plugman;

import java.io.File;

public class Plugin {
	//插件的相对目录
	private static String basePath = "src/android/demo";
	//插件的绝对目录
	private static String path = "D:\\work\\cordova\\plugin\\demo\\src\\android\\demo";

	public static void main(String[] args) {
		getFile(path);
	}

	private static void getFile(String path) {
		// 获取路径所在的文件列表
		File dirFile = new File(path);
		// 获取文件列表
		File[] array = dirFile.listFiles();
		for (File file : array) {
			if (file.isFile()) {
				toXML(file.getName(), file.getPath());
			} else if (file.isDirectory()) {
				getFile(file.getPath());
			}
		}
	}

	private static void toXML(String fileName, String filePath) {
		if (fileName.indexOf(".java") != -1 || fileName.indexOf(".xml") != -1 || fileName.indexOf(".png") != -1) {
			String newFilePath = filePath.replace(path, "");
			String newDirPath = newFilePath.replace("\\" + fileName, "");
			newDirPath = newDirPath.substring(1, newDirPath.length());
			String xml = String.format("<source-file src=\"%s%s\" target-dir=\"%s\" />", basePath,newFilePath, newDirPath);
			xml = xml.replace("\\", "/");
			System.out.println(xml);
		} else if (fileName.indexOf(".jar") != -1) {
			String newFilePath = filePath.replace(path, "");
			String xml = String.format("<lib-file src=\"%s%s\"/>", basePath,newFilePath);
			xml = xml.replace("\\", "/");
			System.out.println(xml);
		}
	}
}


结果:

<lib-file src="src/android/demo/libs/MobCommons-2016.1222.1756.jar"/>
<lib-file src="src/android/demo/libs/MobTools-2016.1222.1756.jar"/>
<source-file src="src/android/demo/res/values/ssdk_instapaper_strings.xml" target-dir="res/values" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/CustomerLogo.java" target-dir="src/cn/sharesdk/onekeyshare" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/themes/classic/ClassicTheme.java" target-dir="src/cn/sharesdk/onekeyshare/themes/classic" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/themes/classic/land/EditPageLand.java" target-dir="src/cn/sharesdk/onekeyshare/themes/classic/land" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/themes/classic/port/EditPagePort.java" target-dir="src/cn/sharesdk/onekeyshare/themes/classic/port" />




相关文章
|
XML JavaScript 前端开发
具备spring环境的测试头注解;xml 规则;JavaScript:改变 HTML 内容案例
具备spring环境的测试头注解 具备spring环境的测试头注解 test
142 1
具备spring环境的测试头注解;xml 规则;JavaScript:改变 HTML 内容案例
|
XML 前端开发 数据格式
第四例:响应内容为xml | 学习笔记
快速学习第四例:响应内容为xml
第四例:响应内容为xml | 学习笔记
|
XML jenkins 持续交付
python提取xml指定内容
python提取xml指定内容
283 0
python提取xml指定内容
|
XML C# 数据格式
C# XML基础入门(XML文件内容增删改查清)
C# XML基础入门(XML文件内容增删改查清)
159 0
|
XML Java 数据库连接
2021-5-13讲课内容hibernate主键id映射_XML方式
概述 项目结构 Student类 hibernate.cfg.xml log4j.properties Student.hbm.xml StudentTest类 理论 常用的五种方式 1. increment: 2. identity主键自增 3.sequence 序列 4. native 5. uuid
220 0
2021-5-13讲课内容hibernate主键id映射_XML方式
|
XML 存储 Java
编写Java程序,使用 dom4j 解析上一节王者荣耀“英雄”对应的Xml文件数据内容,打印输出,具体格式
编写Java程序,使用 dom4j 解析上一节王者荣耀“英雄”对应的Xml文件数据内容,打印输出,具体格式
232 0
编写Java程序,使用 dom4j 解析上一节王者荣耀“英雄”对应的Xml文件数据内容,打印输出,具体格式
|
XML Java Android开发
sts工具右键new 新建文件没有Spring Bean Configuration File选项(不是一个很重要的功能选项啦,可以通过最简单的建立普通xml文件,然后到官网粘贴内容解决啦)
sts工具右键new 新建文件没有Spring Bean Configuration File选项(不是一个很重要的功能选项啦,可以通过最简单的建立普通xml文件,然后到官网粘贴内容解决啦)
510 0
sts工具右键new 新建文件没有Spring Bean Configuration File选项(不是一个很重要的功能选项啦,可以通过最简单的建立普通xml文件,然后到官网粘贴内容解决啦)
|
XML 自然语言处理 数据格式
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
293 0
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
|
XML 存储 JavaScript
XML格式文件详解及Java解析XML文件内容方法
XML格式文件详解及Java解析XML文件内容方法
|
XML 数据格式 开发者
第四例:响应内容为xml | 学习笔记
快速学习第四例:响应内容为xml。
155 0
第四例:响应内容为xml | 学习笔记