Skip to content

Commit

Permalink
未修改的文件,修改时间复原
Browse files Browse the repository at this point in the history
  • Loading branch information
jacob committed Jun 9, 2023
1 parent b7ef940 commit 5a5554a
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 133 deletions.
66 changes: 49 additions & 17 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.echemi.maven.plugin</groupId>
<artifactId>static-file-add-version-maven-plugin</artifactId>
<version>0.5.6</version>
<version>0.5.7</version>
<build>
<plugins>
<plugin>
Expand All @@ -13,6 +13,7 @@
<configuration>
<source>8</source>
<target>8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
Expand Down Expand Up @@ -94,6 +95,12 @@
<version>1.18.18</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.11</version>
</dependency>
</dependencies>

<!--develop -->
Expand All @@ -110,14 +117,15 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<source>8</source>
<target>8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version>
<version>3.3</version>
<configuration>
<goalPrefix>static-file-add-version</goalPrefix>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
Expand Down Expand Up @@ -150,40 +158,64 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>8</source>
<target>8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version>
<version>3.3</version>
<configuration>
<goalPrefix>static-file-add-version</goalPrefix>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>echemi</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<source>8</source>
<target>8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.3</version>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<goalPrefix>static-file-add-version</goalPrefix>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>echemi</id>
<distributionManagement>
<snapshotRepository>
<id>rdc-snapshots</id>
Expand Down
102 changes: 9 additions & 93 deletions src/main/java/com/echemi/maven/plugin/entity/FileInfo.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package com.echemi.maven.plugin.entity;

import lombok.Data;

import java.io.File;

/**
* @author jacob
* created in 2021/3/13 15:28
* modified By:
*/
@Data
public class FileInfo {

/**
* 文件类型
**/
Expand All @@ -21,117 +24,30 @@ public class FileInfo {
* 输出最终文件名
**/
private String finalFileName;

/**
* 文件对象
**/
private File file;

/**
* 文件版本号
**/
private String fileVersion;

/**
* 文件hash值
**/
private String fileHashKey;

/**
* 相对文件路径 去除了文件webRoot 和全部前缀路径
**/
private String relativelyFilePath;

/**
* 文件是否需要被重命名
**/
private boolean needRename = false;
private long lastModified = System.currentTimeMillis();

public String getFileType() {
return fileType;
}

public void setFileType(String fileType) {
this.fileType = fileType;
}

public String getFileName() {
return fileName;
}

public void setFileName(String fileName) {
this.fileName = fileName;
}

public String getFinalFileName() {
return finalFileName;
}

public void setFinalFileName(String finalFileName) {
this.finalFileName = finalFileName;
}

public File getFile() {
return file;
}

public void setFile(File file) {
this.file = file;
}

public String getFileVersion() {
return fileVersion;
}

public void setFileVersion(String fileVersion) {
this.fileVersion = fileVersion;
}

public String getFileHashKey() {
return fileHashKey;
}

public void setFileHashKey(String fileHashKey) {
this.fileHashKey = fileHashKey;
}

public String getRelativelyFilePath() {
return relativelyFilePath;
}

public void setRelativelyFilePath(String relativelyFilePath) {
this.relativelyFilePath = relativelyFilePath;
}

public boolean isNeedRename() {
return needRename;
}

public void setNeedRename(boolean needRename) {
this.needRename = needRename;
}

@Override
public String toString() {
final StringBuffer sb = new StringBuffer("FileInfo{");
sb.append("fileType='").append(fileType).append('\'');
sb.append(", fileName='").append(fileName).append('\'');
sb.append(", finalFileName='").append(finalFileName).append('\'');
sb.append(", file=").append(file);
sb.append(", fileVersion='").append(fileVersion).append('\'');
sb.append(", fileHashKey='").append(fileHashKey).append('\'');
sb.append(", relativelyFilePath='").append(relativelyFilePath).append('\'');
sb.append(", needRename='").append(needRename);
sb.append('}');
return sb.toString();
}

public long getLastModified() {
return lastModified;
}

public void setLastModified(long lastModified) {
this.lastModified = lastModified;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.echemi.maven.plugin.support;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileNameUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.echemi.maven.plugin.constant.FileTypeEnum;
Expand All @@ -26,14 +28,14 @@ public class DefaultProcessFactory extends AbstractProcessFactory {
public DefaultProcessFactory(Config config) {
super(config);
}

@Override
public void init(final String webapp) {
this.webapp = webapp;
if (files == null) {
files = new HashMap<>(64);
}

getFileInfo(files, webapp, Config.getSuffixList());
// for (Map.Entry<String, FileInfo> file : files.entrySet()) {
// logger.debug("find type:" + file.getValue().getFileType() + " file:" + file.getKey() + " md5:" + file.getValue().getFileVersion());
Expand All @@ -42,7 +44,7 @@ public void init(final String webapp) {
pages = new ArrayList<>();
}
getProcessPage(pages, webapp, config.getSuffix());

String out = config.getOutDirRoot();
for (PageInfo pageInfo : pages) {
String path = pageInfo.getFile().getPath();
Expand All @@ -60,11 +62,11 @@ public void init(final String webapp) {
file.mkdirs();
}
pageInfo.setOutFile(new File(temp));

}

}

@Override
public void execute() {
if (null == config) {
Expand Down Expand Up @@ -97,24 +99,13 @@ public void execute() {
logger.error(" the file process error :" + pageInfo.getFile().getPath(), e);
}
}

String out = config.getOutDirRoot();
for (String fileInfoKey : files.keySet()) {
FileInfo fileInfo = files.get(fileInfoKey);
if (fileInfo.getFinalFileName()!=null && fileInfo.isNeedRename()) {
try {
// 将文件重命名
String pathDest = fileInfo.getFile().getPath();
pathDest = pathDest.replaceAll(fileInfo.getFileName(), fileInfo.getFinalFileName());
pathDest = pathDest.substring(webapp.length(), pathDest.length());
String tempDest;
if (pathDest.startsWith(FileUtils.getSystemFileSeparator())) {
tempDest = out + pathDest;
} else {
tempDest = out + FileUtils.getSystemFileSeparator() + pathDest;
}
File destFile = new File(tempDest);

String path = fileInfo.getFile().getPath();
path = path.substring(webapp.length());
String temp;
Expand All @@ -125,11 +116,11 @@ public void execute() {
}
File destOriginalFile = new File(temp);
// 重命名
destOriginalFile.renameTo(destFile);
// 删除原来命名的文件
destOriginalFile.delete();
// 修改新命名文件时间为原来的时间
destFile.setLastModified(fileInfo.getLastModified());
File renamedFile = FileUtil.rename(destOriginalFile, fileInfo.getFinalFileName(), true);
// 删除原来文件
FileUtil.del(destOriginalFile);
// 更新新文件的时间戳
renamedFile.setLastModified(fileInfo.getLastModified());
} catch (Exception e) {
logger.error(" the fileInfo process error :" + fileInfo.getFile().getPath(), e);
}
Expand Down

0 comments on commit 5a5554a

Please sign in to comment.