Comments (3)
These are the steps I'm using to do the build:
RUN apt-get update && apt-get install -y build-essential cmake curl && rm -rf /var/lib/apt/lists/*
RUN curl -OL https://github.com/apiaryio/drafter/releases/download/v5.0.0/drafter-5.0.0.tar.gz
RUN tar xf drafter-5.0.0.tar.gz && mkdir -p drafter-5.0.0/build && cd drafter-5.0.0/build && cmake .. && make && make install
from drafter.
I rebuild the container it takes 10+ minutes to build drafter itself
Once built, providing the version of Drafter isn't changed you should be able to utilise docker layer caching so that it will never need to rebuilt the Drafter layers of the image. You may also create a separate base image or multi-staged build.
Is there a way to speed up the build? Is there a way to build just the lib portion that I need?
You can utilise the option --jobs
(or -j
) to make to instruct it that it may build various parts in parallel to speed up the build.
Is there a way to build just the lib portion that I need?
Changing make
to make drafter
to omit building the tests. There is also a drafter-lib
target, however install will fail as the drafter binary won't exist (that shouldn't take very long to build thought). https://hub.docker.com/r/apiaryio/drafter/dockerfile contains an example.
I'm working on building a python library that uses Drafter to parse API Blueprints
If you're not already aware, there's a Python library Draughtsman offering bindings to libdrafter.
from drafter.
I'm aware of layer caching, but we use ephemeral jenkins nodes and Docker caching isn't always available, and I build a lot of docker images and have to routinely prune my images to keep the down the size.
That's all super helpful, thank you so much!
from drafter.
Related Issues (20)
- Missing resource name renders incorrect output but it is validated
- Confusing AST for enum examples HOT 4
- Compatibility with MSVC 2019 HOT 1
- Building drafter-cli causes a link "warning" (macOS)
- Duplicit value in enumeration HOT 2
- Missing description after wrongly interpreted MSON `enum[string], fixed`
- PEGTL not fixed to specific version HOT 1
- Drafter backend crashes on unexpanded `Include (object)` HOT 1
- sigsegv
- Include Drafter version in ABI HOT 2
- Parser emits that `false` is not allowed boolean type for default HOT 1
- Ninja can no longer build due to cycling input HOT 2
- Drafter version does not work for CMake builds
- Docker hub entry outdated HOT 1
- Distinct OneOf gets parsed as single OneOf group in schema HOT 5
- Fixed array with a mixin inside produces incorrect json schema
- Drafter for Java
- Compile error with newer gcc
- [build] CMake build on RHEL 9 is missing libraries HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drafter.