Skip to content

Commit 74f124c

Browse files
committed
Initial version of KotlinClassToProtobuf.
1 parent 44ee917 commit 74f124c

27 files changed

+1985
-0
lines changed

.github/workflows/ci.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
environment: Maven Central
13+
permissions:
14+
contents: read
15+
packages: write
16+
steps:
17+
- name: Checkout Project
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Java
21+
uses: actions/setup-java@v4
22+
with:
23+
distribution: corretto
24+
java-version: 17
25+
26+
- name: Setup Gradle
27+
uses: gradle/actions/setup-gradle@v3
28+
29+
- name: Gradle Build
30+
run: ./gradlew build
31+
32+
- name: Gradle Bundle
33+
run: ./scripts/bundle.sh
34+
env:
35+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
37+
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
38+
MAVEN_SIGNING_KEY: ${{ secrets.MAVEN_SIGNING_KEY }}
39+
MAVEN_SIGNING_PASSWORD: ${{ secrets.MAVEN_SIGNING_PASSWORD }}
40+
41+
- name: Upload Artifact
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: bundle
45+
path: ./.gradle/bundle/

.gitignore

+295
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,295 @@
1+
# Igonre local properties file.
2+
protogen4k/src/main/proto
3+
4+
# Created by https://www.gitignore.io/api/java,macos,maven,gradle,kotlin,windows,eclipse,intellij,visualstudiocode
5+
# Edit at https://www.gitignore.io/?templates=java,macos,maven,gradle,kotlin,windows,eclipse,intellij,visualstudiocode
6+
7+
### Eclipse ###
8+
.metadata
9+
bin/
10+
tmp/
11+
*.tmp
12+
*.bak
13+
*.swp
14+
*~.nib
15+
local.properties
16+
.settings/
17+
.loadpath
18+
.recommenders
19+
20+
# External tool builders
21+
.externalToolBuilders/
22+
23+
# Locally stored "Eclipse launch configurations"
24+
*.launch
25+
26+
# PyDev specific (Python IDE for Eclipse)
27+
*.pydevproject
28+
29+
# CDT-specific (C/C++ Development Tooling)
30+
.cproject
31+
32+
# CDT- autotools
33+
.autotools
34+
35+
# Java annotation processor (APT)
36+
.factorypath
37+
38+
# PDT-specific (PHP Development Tools)
39+
.buildpath
40+
41+
# sbteclipse plugin
42+
.target
43+
44+
# Tern plugin
45+
.tern-project
46+
47+
# TeXlipse plugin
48+
.texlipse
49+
50+
# STS (Spring Tool Suite)
51+
.springBeans
52+
53+
# Code Recommenders
54+
.recommenders/
55+
56+
# Annotation Processing
57+
.apt_generated/
58+
59+
# Scala IDE specific (Scala & Java development for Eclipse)
60+
.cache-main
61+
.scala_dependencies
62+
.worksheet
63+
64+
### Eclipse Patch ###
65+
# Eclipse Core
66+
.project
67+
68+
# JDT-specific (Eclipse Java Development Tools)
69+
.classpath
70+
71+
# Annotation Processing
72+
.apt_generated
73+
74+
.sts4-cache/
75+
76+
### Intellij ###
77+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
78+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
79+
.idea/
80+
81+
# User-specific stuff
82+
.idea/**/workspace.xml
83+
.idea/**/tasks.xml
84+
.idea/**/usage.statistics.xml
85+
.idea/**/dictionaries
86+
.idea/**/shelf
87+
88+
# Generated files
89+
.idea/**/contentModel.xml
90+
91+
# Sensitive or high-churn files
92+
.idea/**/dataSources/
93+
.idea/**/dataSources.ids
94+
.idea/**/dataSources.local.xml
95+
.idea/**/sqlDataSources.xml
96+
.idea/**/dynamic.xml
97+
.idea/**/uiDesigner.xml
98+
.idea/**/dbnavigator.xml
99+
100+
# Gradle
101+
.idea/**/gradle.xml
102+
.idea/**/libraries
103+
104+
# Gradle and Maven with auto-import
105+
# When using Gradle or Maven with auto-import, you should exclude module files,
106+
# since they will be recreated, and may cause churn. Uncomment if using
107+
# auto-import.
108+
# .idea/modules.xml
109+
# .idea/*.iml
110+
# .idea/modules
111+
112+
# CMake
113+
cmake-build-*/
114+
115+
# Mongo Explorer plugin
116+
.idea/**/mongoSettings.xml
117+
118+
# File-based project format
119+
*.iws
120+
121+
# IntelliJ
122+
out/
123+
124+
# mpeltonen/sbt-idea plugin
125+
.idea_modules/
126+
127+
# JIRA plugin
128+
atlassian-ide-plugin.xml
129+
130+
# Cursive Clojure plugin
131+
.idea/replstate.xml
132+
133+
# Crashlytics plugin (for Android Studio and IntelliJ)
134+
com_crashlytics_export_strings.xml
135+
crashlytics.properties
136+
crashlytics-build.properties
137+
fabric.properties
138+
139+
# Editor-based Rest Client
140+
.idea/httpRequests
141+
142+
# Android studio 3.1+ serialized cache file
143+
.idea/caches/build_file_checksums.ser
144+
145+
# JetBrains templates
146+
**___jb_tmp___
147+
148+
### Intellij Patch ###
149+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
150+
151+
*.iml
152+
# modules.xml
153+
# .idea/misc.xml
154+
# *.ipr
155+
156+
# Sonarlint plugin
157+
.idea/sonarlint
158+
159+
### Java ###
160+
# Compiled class file
161+
*.class
162+
163+
# Log file
164+
*.log
165+
current/
166+
archive/
167+
168+
# BlueJ files
169+
*.ctxt
170+
171+
# Mobile Tools for Java (J2ME)
172+
.mtj.tmp/
173+
174+
# Package Files #
175+
*.jar
176+
*.war
177+
*.nar
178+
*.ear
179+
*.zip
180+
*.tar.gz
181+
*.rar
182+
183+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
184+
hs_err_pid*
185+
186+
### Kotlin ###
187+
# Compiled class file
188+
189+
# Log file
190+
191+
# BlueJ files
192+
193+
# Mobile Tools for Java (J2ME)
194+
195+
# Package Files #
196+
197+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
198+
199+
### macOS ###
200+
# General
201+
.DS_Store
202+
.AppleDouble
203+
.LSOverride
204+
205+
# Icon must end with two \r
206+
Icon
207+
208+
# Thumbnails
209+
._*
210+
211+
# Files that might appear in the root of a volume
212+
.DocumentRevisions-V100
213+
.fseventsd
214+
.Spotlight-V100
215+
.TemporaryItems
216+
.Trashes
217+
.VolumeIcon.icns
218+
.com.apple.timemachine.donotpresent
219+
220+
# Directories potentially created on remote AFP share
221+
.AppleDB
222+
.AppleDesktop
223+
Network Trash Folder
224+
Temporary Items
225+
.apdisk
226+
227+
### Maven ###
228+
target/
229+
pom.xml.tag
230+
pom.xml.releaseBackup
231+
pom.xml.versionsBackup
232+
pom.xml.next
233+
release.properties
234+
dependency-reduced-pom.xml
235+
buildNumber.properties
236+
.mvn/timing.properties
237+
.mvn/wrapper/maven-wrapper.jar
238+
239+
### VisualStudioCode ###
240+
.vscode/*
241+
!.vscode/settings.json
242+
!.vscode/tasks.json
243+
!.vscode/launch.json
244+
!.vscode/extensions.json
245+
246+
### VisualStudioCode Patch ###
247+
# Ignore all local history of files
248+
.history
249+
250+
### Windows ###
251+
# Windows thumbnail cache files
252+
Thumbs.db
253+
ehthumbs.db
254+
ehthumbs_vista.db
255+
256+
# Dump file
257+
*.stackdump
258+
259+
# Folder config file
260+
[Dd]esktop.ini
261+
262+
# Recycle Bin used on file shares
263+
$RECYCLE.BIN/
264+
265+
# Windows Installer files
266+
*.cab
267+
*.msi
268+
*.msix
269+
*.msm
270+
*.msp
271+
272+
# Windows shortcuts
273+
*.lnk
274+
275+
### Gradle ###
276+
.gradle
277+
build/
278+
279+
# Ignore Gradle GUI config
280+
gradle-app.setting
281+
282+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
283+
!gradle-wrapper.jar
284+
285+
# Cache of project
286+
.gradletasknamecache
287+
288+
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
289+
# gradle/wrapper/gradle-wrapper.properties
290+
291+
### Gradle Patch ###
292+
**/build/
293+
294+
# End of https://www.gitignore.io/api/java,macos,maven,gradle,kotlin,windows,eclipse,intellij,visualstudiocode
295+

build.gradle.kts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
group = "io.github.smyrgeorge"
2+
version = "1.0.0"
3+
4+
// Common plugin versions here.
5+
plugins {
6+
// https://plugins.gradle.org/plugin/org.jetbrains.kotlin.jvm
7+
kotlin("jvm") version "1.9.24" apply false
8+
}

gradle/wrapper/gradle-wrapper.jar

61.9 KB
Binary file not shown.
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)