Skip to content

Commit

Permalink
Merge branch 'MaaAssistantArknights:dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
LuoRenMu authored Aug 5, 2023
2 parents a896596 + a26ab46 commit d2cfc60
Show file tree
Hide file tree
Showing 7 changed files with 93 additions and 209 deletions.
59 changes: 27 additions & 32 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.6'
id "io.spring.dependency-management" version "1.1.0"
id "io.freefair.lombok" version "6.6"
id "org.springdoc.openapi-gradle-plugin" version "1.6.0"
id 'org.springframework.boot' version '3.1.2'
id 'io.spring.dependency-management' version '1.1.2'
id 'io.freefair.lombok' version '8.1.0'
id 'org.springdoc.openapi-gradle-plugin' version '1.6.0'
id 'org.hidetake.swagger.generator' version '2.19.2'
}

Expand All @@ -25,18 +25,17 @@ ext {
}

dependencies {
implementation platform("org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}")

annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
annotationProcessor 'com.github.therapi:therapi-runtime-javadoc-scribe:0.13.0'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final'
annotationProcessor "com.github.therapi:therapi-runtime-javadoc-scribe:0.13.0"
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'

implementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-cache'
//springdoc相关依赖没有被自动管理,必须保留版本号
Expand All @@ -45,16 +44,17 @@ dependencies {

implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation 'com.sun.mail:javax.mail:1.6.2'
implementation 'cn.hutool:hutool-all:5.8.11'
implementation 'cn.hutool:hutool-extra:5.8.20'
implementation 'cn.hutool:hutool-jwt:5.8.20'
implementation 'org.mapstruct:mapstruct:1.5.3.Final'
implementation 'org.eclipse.jgit:org.eclipse.jgit:6.4.0.202211300538-r'
implementation 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache:6.4.0.202211300538-r'
implementation 'org.eclipse.jgit:org.eclipse.jgit:6.6.0.202305301015-r'
implementation 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache.agent:6.6.0.202305301015-r'
implementation 'org.freemarker:freemarker:2.3.32'
implementation 'com.github.ben-manes.caffeine:caffeine:3.1.2'
implementation 'com.github.erosb:everit-json-schema:1.14.1'
implementation 'com.google.guava:guava:31.1-jre'
implementation 'com.github.ben-manes.caffeine:caffeine:3.1.6'
implementation 'com.github.erosb:everit-json-schema:1.14.2'
implementation 'com.google.guava:guava:32.1.1-jre'
implementation 'org.aspectj:aspectjweaver:1.9.19'

// swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.41'
swaggerCodegen 'org.openapitools:openapi-generator-cli:6.5.0'

}
Expand All @@ -63,53 +63,48 @@ test {
useJUnitPlatform()
}

def swagger_output_dir = "$buildDir/docs"
def swagger_output_dir = '$buildDir/docs'
def swagger_output_name = 'swagger.json'

openApi {
apiDocsUrl.set("http://localhost:8848/v3/api-docs")
apiDocsUrl.set('http://localhost:8848/v3/api-docs')
outputDir.set(file(swagger_output_dir))
outputFileName.set(swagger_output_name)
waitTimeInSeconds.set(30)
}

swaggerSources {
def client_dir = "$buildDir/clients"
TsFetch {
inputFile = file("$swagger_output_dir/$swagger_output_name")
inputFile = file('$swagger_output_dir/$swagger_output_name')
code {
language = 'typescript-fetch'
configFile = file('client-config/ts-fetch.json')
// templateDir = file('client-config/typescript-fetch')
rawOptions = ["-e", "mustache"]
outputDir = file("$client_dir/ts-fetch-client")
rawOptions = ['-e', 'mustache']
outputDir = file('$client_dir/ts-fetch-client')
}
}
CSharp {
inputFile = file("$swagger_output_dir/$swagger_output_name")
inputFile = file('$swagger_output_dir/$swagger_output_name')
code {
language = 'csharp-netcore'
configFile = file('client-config/csharp-netcore.json')
outputDir = file("$client_dir/csharp-client")
// rawOptions = [
// "--type-mappings", "binary=System.IO.Stream"
// ]
outputDir = file('$client_dir/csharp-client')
}
}
Cpp {
inputFile = file("$swagger_output_dir/$swagger_output_name")
inputFile = file('$swagger_output_dir/$swagger_output_name')
code {
language = 'cpp-restsdk'
configFile = file('client-config/cpp.json')
outputDir = file("$client_dir/cpp-client")
outputDir = file('$client_dir/cpp-client')
}
}
Rust{
inputFile = file("$swagger_output_dir/$swagger_output_name")
Rust {
inputFile = file('$swagger_output_dir/$swagger_output_name')
code {
language = 'rust'
configFile = file('client-config/rust.json')
outputDir = file("$client_dir/rust-client")
outputDir = file('$client_dir/rust-client')
}
}
}
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
35 changes: 35 additions & 0 deletions src/main/java/plus/maa/backend/config/HttpInterfaceConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package plus.maa.backend.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.client.ExchangeStrategies;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client.support.WebClientAdapter;
import org.springframework.web.service.invoker.HttpServiceProxyFactory;
import plus.maa.backend.repository.GithubRepository;

@Configuration
public class HttpInterfaceConfig {

@Bean
GithubRepository githubRepository() {
WebClient client = WebClient.builder()
.baseUrl("https://api.github.com")
.exchangeStrategies(ExchangeStrategies
.builder()
.codecs(codecs -> codecs
.defaultCodecs()
// 最大 20MB
.maxInMemorySize(20 * 1024 * 1024))
.build())
.defaultHeaders(headers -> {
headers.add("Accept", "application/vnd.github+json");
headers.add("X-GitHub-Api-Version", "2022-11-28");
})
.build();
return HttpServiceProxyFactory.builder(WebClientAdapter.forClient(client))
.build()
.createClient(GithubRepository.class);
}

}
12 changes: 0 additions & 12 deletions src/main/java/plus/maa/backend/config/OpenFeignConfig.java

This file was deleted.

30 changes: 7 additions & 23 deletions src/main/java/plus/maa/backend/repository/GithubRepository.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package plus.maa.backend.repository;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.service.annotation.GetExchange;
import plus.maa.backend.repository.entity.github.GithubCommit;
import plus.maa.backend.repository.entity.github.GithubTrees;

Expand All @@ -13,30 +12,15 @@
* @author dragove
* created on 2022/12/23
*/
@FeignClient(value = "githubRepository", url = "https://api.github.com")
public interface GithubRepository {

/**
* api doc: <a href="https://docs.github.com/en/rest/git/trees?apiVersion=2022-11-28#get-a-tree">git trees api</a>
*/
@GetMapping(value = "/repos/{repo}/git/trees/{sha}",
headers = {
"Accept: application/vnd.github+json",
"Authorization: {token}",
"X-GitHub-Api-Version: 2022-11-28"
})
GithubTrees getTrees(@RequestParam("token") String token,
@PathVariable("repo") String repo,
@PathVariable("sha") String sha);
@GetExchange(value = "/repos/MaaAssistantArknights/MaaAssistantArknights/git/trees/{sha}")
GithubTrees getTrees(@RequestHeader("Authorization") String token, @PathVariable("sha") String sha);

@GetExchange(value = "/repos/MaaAssistantArknights/MaaAssistantArknights/commits")
List<GithubCommit> getCommits(@RequestHeader("Authorization") String token);

@GetMapping(value = "/repos/{repo}/commits",
headers = {
"Accept: application/vnd.github+json",
"Authorization: {token}",
"X-GitHub-Api-Version: 2022-11-28"
})
List<GithubCommit> getCommits(@RequestParam("token") String token,
@PathVariable("repo") String repo,
@RequestParam("path") String path,
@RequestParam("per_page") int prePage);
}
Loading

0 comments on commit d2cfc60

Please sign in to comment.