Skip to content
This repository was archived by the owner on Apr 29, 2026. It is now read-only.

Commit 2ee7b54

Browse files
committed
Remove native-image, add ci workflow, update copyright
1 parent ae63590 commit 2ee7b54

18 files changed

Lines changed: 381 additions & 818 deletions

File tree

.github/workflows/ci.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
on:
2+
push:
3+
tags:
4+
- '*'
5+
6+
jobs:
7+
release:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v3
11+
- uses: actions/setup-java@v3
12+
with:
13+
distribution: temurin
14+
java-version: 17
15+
cache: gradle
16+
- uses: gradle/wrapper-validation-action@v1
17+
- run: chmod +x gradlew
18+
- uses: gradle/gradle-build-action@v2
19+
with:
20+
arguments: build
21+
- id: create_release
22+
uses: actions/create-release@v1
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
with:
26+
tag_name: ${{ github.ref }}
27+
release_name: ${{ github.ref }}
28+
draft: false
29+
prerelease: false
30+
- uses: actions/upload-release-asset@v1
31+
env:
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
with:
34+
upload_url: ${{ steps.create_release.outputs.upload_url }}
35+
asset_path: build/libs/protod.jar
36+
asset_name: protod.jar
37+
asset_content_type: application/java-archive

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# protod
2+
3+
![license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)
4+
![version](https://img.shields.io/badge/Version-1.1.1-green.svg)
5+
6+
Protobuf Decompiler
7+
8+
## Usage
9+
10+
protod is a command-line tool, and does not have a GUI.
11+
12+
```
13+
Usage: protod options_list
14+
Arguments:
15+
input -> Input file { String }
16+
output -> Output path { String }
17+
Options:
18+
--exclude [google/protobuf/compiler/plugin.proto, google/protobuf/any.proto, google/protobuf/api.proto, google/protobuf/descriptor.proto, google/protobuf/duration.proto, google/protobuf/empty.proto, google/protobuf/field_mask.proto, google/protobuf/source_context.proto, google/protobuf/struct.proto, google/protobuf/timestamp.proto, google/protobuf/type.proto, google/protobuf/wrappers.proto] -> Exclude files { String }
19+
--help, -h -> Usage info
20+
```

app.ico

-14.7 KB
Binary file not shown.

build.gradle.kts

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022, Valaphee.
2+
* Copyright (c) 2022-2023, Valaphee.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -17,44 +17,36 @@
1717
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1818

1919
plugins {
20-
application
21-
id("com.palantir.git-version") version "0.12.3"
22-
kotlin("jvm") version "1.6.21"
23-
id("org.graalvm.buildtools.native") version "0.9.4"
24-
signing
20+
id("com.github.johnrengelman.shadow") version "7.0.0"
21+
id("com.palantir.git-version") version "0.15.0"
22+
kotlin("jvm") version "1.8.10"
2523
}
2624

2725
group = "com.valaphee"
2826
val versionDetails: groovy.lang.Closure<com.palantir.gradle.gitversion.VersionDetails> by extra
2927
val details = versionDetails()
3028
version = "${details.lastTag}.${details.commitDistance}"
3129

32-
repositories {
33-
mavenCentral()
34-
mavenLocal()
35-
}
30+
repositories { mavenCentral() }
3631

3732
dependencies {
38-
implementation("com.google.protobuf:protobuf-kotlin:3.20.1")
39-
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:1.6.20")
40-
implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.4")
33+
implementation("com.google.protobuf:protobuf-kotlin:3.21.12")
34+
implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.5")
4135
}
4236

4337
tasks {
4438
withType<JavaCompile> {
45-
sourceCompatibility = "16"
46-
targetCompatibility = "16"
39+
sourceCompatibility = "17"
40+
targetCompatibility = "17"
4741
}
4842

49-
withType<KotlinCompile>().configureEach { kotlinOptions { jvmTarget = "16" } }
43+
withType<KotlinCompile>().configureEach { kotlinOptions { jvmTarget = "17" } }
44+
45+
build { dependsOn(shadowJar) }
5046

51-
withType<Test> { useJUnitPlatform() }
47+
jar { manifest { attributes(mapOf("Main-Class" to "com.valaphee.protod.MainKt")) } }
5248

53-
nativeBuild {
54-
agent.set(true)
49+
shadowJar {
50+
archiveFileName.set("protod.jar")
5551
}
5652
}
57-
58-
application { mainClass.set("com.valaphee.protod.MainKt") }
59-
60-
signing { useGpgCmd() }

gradle/wrapper/gradle-wrapper.jar

1.19 KB
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)