90 Commits

Author SHA1 Message Date
40fc2229a3 don't exit on empty tree 2024-02-24 00:08:45 -08:00
4007b2cb0d update deps 2024-02-22 20:10:22 -08:00
d9f67c5d1a mess with git history code 2024-02-22 19:54:40 -08:00
9bcf34fb1c grobble grobble 2024-01-25 01:27:42 -08:00
79544c5a4b stop printing intended behaviour 2024-01-25 01:16:54 -08:00
759727d4e9 move file reading to worker threads 2024-01-25 01:16:54 -08:00
1164f8e12a execute order 66 2024-01-25 00:26:35 -08:00
44725f65df perform a perfect backflip
This replaces the join set with a futures stream but does not fulfill the goal of scanning ahead with a cap.
2024-01-25 00:16:14 -08:00
dfe899a7d8 rearrange code into iterator 2024-01-24 21:10:13 -08:00
d5b8c10264 fix override file duplication 2024-01-24 18:37:50 -08:00
fc4cebc862 -1 loc 2024-01-24 18:37:22 -08:00
658266aa89 fix decompile template generation & decompilation + write correct data to final file 2024-01-24 17:27:15 -08:00
56899fa7da enormous code for custom logic 2024-01-24 16:51:19 -08:00
d9531f1d4e custom file stem 2024-01-24 16:25:00 -08:00
994eb9c4be remove unnecessary Option 2024-01-24 14:58:27 -08:00
17bfbef482 misc tweaks + tweak Query objects + remove ScriptHint::Undetermined 2024-01-24 14:42:39 -08:00
e5c7ed6b75 debug insanity 2024-01-24 01:44:18 -08:00
9d6780a0b0 write discern_file + tweaks 2024-01-24 00:39:01 -08:00
4fd7795457 write colossal code 2024-01-23 23:55:14 -08:00
1ea68d96ef mega_double_join unused 2024-01-23 20:50:51 -08:00
4ced7f6210 change return Err to Err()? 2024-01-23 20:37:03 -08:00
db2c760c49 extract_script_overrides 2024-01-23 20:33:27 -08:00
8ee041918b tweaks 2024-01-23 20:19:00 -08:00
5384bbcb3b support Script.module.lua properly 2024-01-23 18:47:15 -08:00
9f3bd80403 woah 2024-01-23 18:43:32 -08:00
7863137174 tweaking 2024-01-23 18:43:32 -08:00
15fd698a21 colossal fixes & tweaks 2024-01-23 18:43:32 -08:00
07f0b03d45 ok I wrote this I guess 2024-01-23 18:43:32 -08:00
7e27b378e9 wip compile 2024-01-22 20:28:24 -08:00
48ab23bae5 tabs 2024-01-22 20:28:24 -08:00
97286612b7 path 2024-01-22 12:28:32 -08:00
8e589f7f0f download asset list 2024-01-16 21:50:35 -08:00
cbb5805d54 fix download path 2024-01-14 18:43:03 -08:00
d6add611fb fix error message 2024-01-14 13:24:33 -08:00
ebd5bb526e force update 2024-01-14 11:12:57 -08:00
858ed8a89c todo 2024-01-14 11:07:33 -08:00
35657d4d51 versions not correctly updated 2024-01-13 23:08:30 -08:00
15e8c8208f add --continue feature for download history 2024-01-13 21:24:50 -08:00
5574c34045 end_version for download_history + catch download error and write versions.json 2024-01-13 20:49:06 -08:00
e5322ad711 todo 2024-01-13 20:32:54 -08:00
0d0f1b1792 limit concurrent downloads using JoinSet 2024-01-12 17:07:06 -08:00
1b3a8be142 start version argument 2024-01-12 16:43:37 -08:00
eb20f8056d make download_history faster 2024-01-12 16:43:34 -08:00
b3f5dd6c4d opti 2024-01-12 15:53:25 -08:00
10f1ac313c DecompileStyle 2024-01-12 13:14:21 -08:00
2260d9a565 fix analyzer 2024-01-12 11:23:45 -08:00
ee8e59b898 rearrange and comment args 2024-01-12 11:20:22 -08:00
a9a40cd2f0 I think this is better 2024-01-11 22:25:00 -08:00
cef0f38482 pray rayon doesn't spawn 600 threads and crash 2024-01-11 22:07:01 -08:00
c2041b33e4 add rayon dep 2024-01-11 22:06:43 -08:00
29b4211484 limit stupid bs 2024-01-11 22:02:10 -08:00
bbbbd6bf64 wrong tab 2024-01-11 21:32:28 -08:00
e8ef06c2cb tokio looks like this on some random dude's webpage 2024-01-11 21:29:06 -08:00
9dc67a22c1 call this function because it makes it work better 2024-01-11 21:18:37 -08:00
67048cccf6 update deleted or moved files 2024-01-11 21:18:37 -08:00
b9eaefe056 note about default signature 2024-01-11 21:18:37 -08:00
1bdfbf96c3 write no empty commits 2024-01-11 21:18:37 -08:00
db44cf12be fix code duplication 2024-01-11 21:18:37 -08:00
30169ddc5b respect config 2024-01-11 21:18:37 -08:00
4d77895260 use less ram lol 2024-01-11 21:18:37 -08:00
aeb72503f0 print for each 2024-01-11 17:13:05 -08:00
1ba8d636f1 not sure if this drops file earlier 2024-01-11 17:13:05 -08:00
a5c01ff9cf DownloadAndDecompileHistoryIntoGit 2024-01-11 16:11:46 -08:00
c3ca545119 write some stupid stuff using unlimited scoped threads 2024-01-11 16:06:12 -08:00
def0d1a69a async decompile 2024-01-11 14:51:31 -08:00
00f4788169 prepare to write files with TOKIO!!! 2024-01-11 13:59:32 -08:00
e12c13a1dd add args for committer name and email 2024-01-11 13:48:57 -08:00
816461e9f4 async download -> unzip -> decompile -> git history 2024-01-11 02:47:20 -08:00
13ebb96ed6 refactor 2024-01-11 02:46:47 -08:00
097c92f602 add git2 dep 2024-01-11 02:06:50 -08:00
82eb78db23 rewrite stuff as functions 2024-01-11 02:06:15 -08:00
1434a11f28 pass tally into stack instruction to generate name override 2024-01-10 20:14:41 -08:00
1aef1f73d9 minor refactor to add/respect some cli options 2024-01-08 15:15:10 -08:00
eebc843cb4 comment for clarity 2024-01-08 15:11:28 -08:00
fdbe3251b3 more requests 2024-01-06 13:10:13 -08:00
b2f92a741c download version history 2024-01-06 13:10:13 -08:00
7e4a9f872c add version history deps 2024-01-06 12:39:16 -08:00
5f1178d0cf use output instead of key val pair 2024-01-06 12:38:43 -08:00
bb32d30896 error msg 2024-01-06 11:15:07 -08:00
03ae57e2e1 sanitize 2024-01-06 11:13:52 -08:00
589c1b044e invalid states are representable but I don't care 2024-01-05 21:36:21 -08:00
aed3b69ca0 decompile 2024-01-05 21:07:04 -08:00
4a081d5b8f delete useless enum 2024-01-05 13:47:32 -08:00
54ca5520b7 containerfile 2024-01-02 13:11:28 -08:00
23dfcadc85 only support one asset for now 2024-01-01 12:22:12 -08:00
1075d59a91 async upload 2024-01-01 12:22:12 -08:00
01676bb4da redo asset stuff as asset id and file list 2024-01-01 12:21:34 -08:00
df62258608 implement cookie and group as arg (bad) 2024-01-01 12:21:34 -08:00
dc4ec4547a release opti 2024-01-01 12:21:34 -08:00
929484855d async download 2024-01-01 12:21:33 -08:00
4 changed files with 1846 additions and 245 deletions

527
Cargo.lock generated

File diff suppressed because it is too large Load Diff

@ -7,16 +7,21 @@ edition = "2021"
[dependencies]
anyhow = "1.0.75"
chrono = { version = "0.4.31", features = ["serde"] }
clap = { version = "4.4.2", features = ["derive"] }
flate2 = "1.0.28"
futures = "0.3.30"
git2 = "0.18.1"
lazy-regex = "3.1.0"
pollster = "0.3.0"
rbx_binary = "0.7.1"
rbx_dom_weak = "2.5.0"
rbx_reflection_database = "0.2.7"
rbx_xml = "0.13.1"
reqwest = { version = "0.11.23", features = ["cookies"] }
rayon = "1.8.0"
rbx_binary = "0.7.4"
rbx_dom_weak = "2.7.0"
rbx_reflection_database = "0.2.10"
rbx_xml = "0.13.3"
reqwest = { version = "0.11.23", features = ["cookies", "json"] }
serde = { version = "1.0.195", features = ["derive"] }
serde_json = "1.0.111"
tokio = { version = "1.35.1", features = ["macros", "rt-multi-thread", "fs"] }
[profile.release]

23
Containerfile Normal file

@ -0,0 +1,23 @@
# Using the `rust-musl-builder` as base image, instead of
# the official Rust toolchain
FROM clux/muslrust:stable AS chef
USER root
RUN cargo install cargo-chef
WORKDIR /app
FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json
FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
# Notice that we are specifying the --target flag!
RUN cargo chef cook --release --target x86_64-unknown-linux-musl --recipe-path recipe.json
COPY . .
RUN cargo build --release --target x86_64-unknown-linux-musl --bin asset-tool
FROM alpine AS runtime
RUN addgroup -S myuser && adduser -S myuser -G myuser
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/asset-tool /usr/local/bin/
USER myuser
CMD ["/usr/local/bin/asset-tool"]

File diff suppressed because it is too large Load Diff