mirror of https://github.com/longtai-cn/hippo4j
parent
2d4e43e378
commit
7806e13c29
@ -1,33 +0,0 @@
|
|||||||
HELP.md
|
|
||||||
target/
|
|
||||||
!.mvn/wrapper/maven-wrapper.jar
|
|
||||||
!**/src/main/**/target/
|
|
||||||
!**/src/test/**/target/
|
|
||||||
|
|
||||||
### STS ###
|
|
||||||
.apt_generated
|
|
||||||
.classpath
|
|
||||||
.factorypath
|
|
||||||
.project
|
|
||||||
.settings
|
|
||||||
.springBeans
|
|
||||||
.sts4-cache
|
|
||||||
|
|
||||||
### IntelliJ IDEA ###
|
|
||||||
.idea
|
|
||||||
*.iws
|
|
||||||
*.iml
|
|
||||||
*.ipr
|
|
||||||
|
|
||||||
### NetBeans ###
|
|
||||||
/nbproject/private/
|
|
||||||
/nbbuild/
|
|
||||||
/dist/
|
|
||||||
/nbdist/
|
|
||||||
/.nb-gradle/
|
|
||||||
build/
|
|
||||||
!**/src/main/**/build/
|
|
||||||
!**/src/test/**/build/
|
|
||||||
|
|
||||||
### VS Code ###
|
|
||||||
.vscode/
|
|
@ -1,62 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>cn.hippo4j</groupId>
|
|
||||||
<artifactId>hippo4j-tools</artifactId>
|
|
||||||
<version>${revision}</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>open-change-tool</artifactId>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
|
|
||||||
<name>${project.artifactId}</name>
|
|
||||||
<description>监控 GitHub 项目 Star、Fork 变更, 有变化则发起通知.</description>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<maven.deploy.skip>true</maven.deploy.skip>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.aliyun</groupId>
|
|
||||||
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
|
|
||||||
<!-- 用户反馈其中 javax.jms 无法下载, 未发现 log4j 用处, 暂且排除 -->
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<artifactId>log4j</artifactId>
|
|
||||||
<groupId>log4j</groupId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.dtflys.forest</groupId>
|
|
||||||
<artifactId>forest-spring-boot-starter</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.hutool</groupId>
|
|
||||||
<artifactId>hutool-all</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,18 +0,0 @@
|
|||||||
package cn.hippo4j.tools.openchange;
|
|
||||||
|
|
||||||
import org.springframework.context.annotation.Import;
|
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Change timed task.
|
|
||||||
*
|
|
||||||
* @author chen.ma
|
|
||||||
* @date 2021/10/31 13:39
|
|
||||||
*/
|
|
||||||
@Target(ElementType.TYPE)
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
|
||||||
@Import(OpenChangeNotifyConfig.class)
|
|
||||||
@Documented
|
|
||||||
public @interface EnableOpenChangeNotify {
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package cn.hippo4j.tools.openchange;
|
|
||||||
|
|
||||||
import com.dtflys.forest.annotation.Get;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GitHub remote.
|
|
||||||
*
|
|
||||||
* @author chen.ma
|
|
||||||
* @date 2021/10/31 10:45
|
|
||||||
*/
|
|
||||||
public interface GitHubRemote {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取 GitHub 仓库详细信息.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Get("https://api.github.com/repos/acmenlt/dynamic-threadpool")
|
|
||||||
OpenChangeInfo getGitHubItemInfo();
|
|
||||||
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
package cn.hippo4j.tools.openchange;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open change info.
|
|
||||||
*
|
|
||||||
* @author chen.ma
|
|
||||||
* @date 2021/10/31 10:33
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
public class OpenChangeInfo {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* name
|
|
||||||
*/
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* stars
|
|
||||||
*/
|
|
||||||
private Long stargazers_count;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* forks
|
|
||||||
*/
|
|
||||||
private Long forks_count;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* open issues
|
|
||||||
*/
|
|
||||||
private Long open_issues_count;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* url
|
|
||||||
*/
|
|
||||||
private String html_url;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* subscribers
|
|
||||||
*/
|
|
||||||
private Long subscribers_count;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* default branch
|
|
||||||
*/
|
|
||||||
private String default_branch;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* star_add
|
|
||||||
*/
|
|
||||||
private Long star_add;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* fork_add
|
|
||||||
*/
|
|
||||||
|
|
||||||
private Long fork_add;
|
|
||||||
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
package cn.hippo4j.tools.openchange;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Bootstrap properties.
|
|
||||||
*
|
|
||||||
* @author chen.ma
|
|
||||||
* @date 2021/6/22 09:14
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Configuration
|
|
||||||
@ConfigurationProperties(prefix = OpenChangeNotifyBootstrapProperties.PREFIX)
|
|
||||||
public class OpenChangeNotifyBootstrapProperties {
|
|
||||||
|
|
||||||
public static final String PREFIX = "spring.dynamic.thread-pool";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* notifyInterval
|
|
||||||
*/
|
|
||||||
private Long notifyInterval;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* notifys
|
|
||||||
*/
|
|
||||||
private List<NotifyConfig> notifys;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public static class NotifyConfig {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* type
|
|
||||||
*/
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* url
|
|
||||||
*/
|
|
||||||
private String url;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* token
|
|
||||||
*/
|
|
||||||
private String token;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
package cn.hippo4j.tools.openchange;
|
|
||||||
|
|
||||||
import com.dtflys.forest.springboot.annotation.ForestScan;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 项目变更通知配置.
|
|
||||||
*
|
|
||||||
* @author chen.ma
|
|
||||||
* @date 2021/10/31 10:23
|
|
||||||
*/
|
|
||||||
@EnableScheduling
|
|
||||||
@AllArgsConstructor
|
|
||||||
@ImportAutoConfiguration(OpenChangeNotifyBootstrapProperties.class)
|
|
||||||
@ForestScan(basePackages = "com.github.dynamic.threadpool.openchange")
|
|
||||||
public class OpenChangeNotifyConfig {
|
|
||||||
|
|
||||||
private final GitHubRemote gitHubRemote;
|
|
||||||
|
|
||||||
private final OpenChangeNotifyBootstrapProperties bootstrapProperties;
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public OpenChangeTimedTask changeTimedTask() {
|
|
||||||
return new OpenChangeTimedTask(gitHubRemote, bootstrapProperties);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in new issue