You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by Adrian Cole <no...@github.com> on 2014/10/29 00:54:30 UTC
[jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
This PR removes a lot of tech-debt and also an unnecessary dependency. Let's avoid baking in a crappy tar library that requires us to write temp files and instead help folks use what they like.
You can merge this Pull Request by running:
git pull https://github.com/adriancole/jclouds-labs adrian.docker-focus
Or you can view, comment on it, or merge it online at:
https://github.com/jclouds/jclouds-labs/pull/106
-- Commit Summary --
* Remove tar creation responsibility from docker, avoiding filesystem bias.
-- File Changes --
M docker/pom.xml (11)
D docker/src/main/java/org/jclouds/docker/binders/BindInputStreamToRequest.java (68)
M docker/src/main/java/org/jclouds/docker/features/RemoteApi.java (16)
D docker/src/main/java/org/jclouds/docker/features/internal/Archives.java (60)
D docker/src/test/java/org/jclouds/docker/binders/BindInputStreamToRequestTest.java (67)
M docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java (53)
M docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java (30)
M docker/src/test/java/org/jclouds/docker/features/RemoteApiMockTest.java (39)
D docker/src/test/java/org/jclouds/docker/features/internal/ArchivesTest.java (112)
-- Patch Links --
https://github.com/jclouds/jclouds-labs/pull/106.patch
https://github.com/jclouds/jclouds-labs/pull/106.diff
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Andrea Turli <no...@github.com>.
Nice! I didn't know that library, which is certainly better than apache-commons.
only concern is about jclouds » jclouds-labs #1821 UNSTABLE could your please re-start the builder?
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60969480
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-labs-pull-requests #366](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/366/) SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60989397
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Adrian Cole <no...@github.com>.
>
> + return Payloads.newByteArrayPayload(bytes.toByteArray());
much nicer + no need to manually set content-length.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106/files#r19565081
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-labs-pull-requests #365](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/365/) SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60855083
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Adrian Cole <no...@github.com>.
> @@ -112,6 +107,13 @@
> </exclusion>
> </exclusions>
> </dependency>
> + <dependency>
> + <groupId>org.jboss.shrinkwrap</groupId>
> + <artifactId>shrinkwrap-depchain</artifactId>
> + <version>1.2.2</version>
> + <type>pom</type>
> + <scope>test</scope>
note this is a test dep
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106/files#r19513550
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by BuildHive <no...@github.com>.
[jclouds » jclouds-labs #1826](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1826/) SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60990864
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Adrian Cole <no...@github.com>.
cherry-picked into master
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60991667
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Ignasi Barrera <no...@github.com>.
+1!
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60968758
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by BuildHive <no...@github.com>.
[jclouds » jclouds-labs #1820](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1820/) SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60853879
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by BuildHive <no...@github.com>.
[jclouds » jclouds-labs #1821](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1821/) UNSTABLE
Looks like there's a problem with this pull request
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60856045
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Adrian Cole <no...@github.com>.
will do. I will rebase once latest snapshot is in, too, as ByteSource usage
in this pull request is obnoxious.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60973181
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-labs-pull-requests #364](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/364/) SUCCESS
This pull request looks good
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60853099
Re: [jclouds-labs] Remove tar creation responsibility from docker,
avoiding filesystem bias. (#106)
Posted by Adrian Cole <no...@github.com>.
> - URL url = Resources.getResource("Dockerfile");
> - String content = Resources.toString(url, Charsets.UTF_8);
> - final File dockerfile = new File(parentDir.getAbsolutePath() + File.separator + "Dockerfile");
> - Files.write(content.getBytes(), dockerfile);
> - File archive = Archives.tar(parentDir, folderPath + "/archive/archive.tar");
> - FileInputStream data = new FileInputStream(archive);
> - Payload payload = Payloads.newInputStreamPayload(data);
> - payload.getContentMetadata().setContentLength(data.getChannel().size());
> - payload.getContentMetadata().setContentType("application/tar");
> + public static Payload tarredDockerfile() throws IOException {
> + ByteArrayOutputStream bytes = new ByteArrayOutputStream();
> + ShrinkWrap.create(GenericArchive.class, "archive.tar")
> + .add(new ClassLoaderAsset("Dockerfile"), "Dockerfile")
> + .as(TarExporter.class).exportTo(bytes);
> +
> + Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(bytes.toByteArray()));
this won't look as terrible once https://github.com/jclouds/jclouds/pull/592 is merged.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106/files#r19513583