]> Untitled Git - lemmy.git/commitdiff
Use romacs cargo-build-deps tool.
authorDessalines <tyhou13@gmx.com>
Wed, 2 Sep 2020 15:42:48 +0000 (10:42 -0500)
committerDessalines <tyhou13@gmx.com>
Wed, 2 Sep 2020 15:42:48 +0000 (10:42 -0500)
docker/dev/Dockerfile
docker/prod/Dockerfile
server/lemmy_db/Cargo.toml
server/lemmy_utils/Cargo.toml

index 4688e2dd02d2fe51f8da03d9c03bb31476ed7d97..9bd74da07de04f23fef64b560677180a6e0dcb7c 100644 (file)
@@ -10,32 +10,36 @@ RUN yarn install --pure-lockfile
 COPY ui /app/ui
 RUN yarn build
 
-FROM ekidd/rust-musl-builder:1.42.0-openssl11 as rust
+FROM ekidd/rust-musl-builder:nightly-2020-05-07 as rust
 
 # Cache deps
 WORKDIR /app
 RUN sudo chown -R rust:rust .
 RUN USER=root cargo new server
+
+# Install cargo-build-deps
+RUN cargo install --git https://github.com/romac/cargo-build-deps.git
 WORKDIR /app/server
 RUN mkdir -p lemmy_db/src/ lemmy_utils/src/
+
+# Copy the cargo tomls
 COPY server/Cargo.toml server/Cargo.lock ./
 COPY server/lemmy_db/Cargo.toml ./lemmy_db/
 COPY server/lemmy_utils/Cargo.toml ./lemmy_utils/
-RUN mkdir -p ./src/bin \
-   && echo 'fn main() { println!("Dummy")  }' > ./src/bin/main.rs \
-   && cp ./src/bin/main.rs ./lemmy_db/src/main.rs \
-   && cp ./src/bin/main.rs ./lemmy_utils/src/main.rs
-RUN cargo build
-RUN rm -f ./target/x86_64-unknown-linux-musl/debug/deps/lemmy_server*
+
+# Cache the deps
+RUN cargo build-deps
+
+# Copy the src folders
 COPY server/src ./src/
-COPY server/lemmy_db ./lemmy_db/
-COPY server/lemmy_utils ./lemmy_utils/
+COPY server/lemmy_db/src ./lemmy_db/src/
+COPY server/lemmy_utils/src/ ./lemmy_utils/src/
 COPY server/migrations ./migrations/
 
 # Build for debug
 RUN cargo build
 
-FROM ekidd/rust-musl-builder:1.42.0-openssl11 as docs
+FROM ekidd/rust-musl-builder:nightly-2020-05-07 as docs
 WORKDIR /app
 COPY docs ./docs
 RUN sudo chown -R rust:rust .
index 6e4de2be51e4112028c46081d547c1f8e07e862b..845df88de49c0204cb2357081376c16e3861e386 100644 (file)
@@ -10,19 +10,14 @@ WORKDIR /app
 RUN sudo chown -R rust:rust .
 RUN USER=root cargo new server
 WORKDIR /app/server
-RUN mkdir -p lemmy_db/src/ lemmy_utils/src/
 COPY server/Cargo.toml server/Cargo.lock ./
-COPY server/lemmy_db/Cargo.toml ./lemmy_db/
-COPY server/lemmy_utils/Cargo.toml ./lemmy_utils/
+COPY server/lemmy_db ./lemmy_db
+COPY server/lemmy_utils ./lemmy_utils
 RUN mkdir -p ./src/bin \
-   && echo 'fn main() { println!("Dummy")  }' > ./src/bin/main.rs \
-   && cp ./src/bin/main.rs ./lemmy_db/src/main.rs \
-   && cp ./src/bin/main.rs ./lemmy_utils/src/main.rs
+   && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
 RUN cargo build --release
 RUN find target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR -type f -name "$(echo "lemmy_server" | tr '-' '_')*" -exec touch -t 200001010000 {} +
 COPY server/src ./src/
-COPY server/lemmy_db ./lemmy_db/
-COPY server/lemmy_utils ./lemmy_utils/
 COPY server/migrations ./migrations/
 
 # build for release
index 6d342c1e76f492b0bc6de5b81d56c4e76ce67c0b..36d9d9a7793692f7c89bf726e8126b8c630c990f 100644 (file)
@@ -3,6 +3,10 @@ name = "lemmy_db"
 version = "0.1.0"
 edition = "2018"
 
+[lib]
+name = "lemmy_db"
+path = "src/lib.rs"
+
 [dependencies]
 diesel = { version = "1.4.4", features = ["postgres","chrono","r2d2","64-column-tables","serde_json"] }
 chrono = { version = "0.4.7", features = ["serde"] }
index 9685c0edaafef7b0017fab6ed4a196b706ad5618..650eeb86fd4f29aa724878c400777745d7bc5437 100644 (file)
@@ -3,6 +3,10 @@ name = "lemmy_utils"
 version = "0.1.0"
 edition = "2018"
 
+[lib]
+name = "lemmy_utils"
+path = "src/lib.rs"
+
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]