From 1520f952a56fcfa525618050e0826767244ea92c Mon Sep 17 00:00:00 2001 From: Martin Paulo Date: Mon, 18 Jul 2016 15:13:12 +1000 Subject: [PATCH] Added the jclouds maven pom Added the maven pom sample and descriptive text required by jclouds. Change-Id: Ifb3569efb3e8de801dbb07553e67c186ec22c4f1 --- firstapp/samples/jclouds/pom.xml | 48 ++++++++++++++++ firstapp/source/getting_started.rst | 52 +++++++++++++++++- .../jclouds/screenshot_maven_layout.png | Bin 0 -> 24017 bytes 3 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 firstapp/samples/jclouds/pom.xml create mode 100644 firstapp/source/images/jclouds/screenshot_maven_layout.png diff --git a/firstapp/samples/jclouds/pom.xml b/firstapp/samples/jclouds/pom.xml new file mode 100644 index 000000000..5b48b1942 --- /dev/null +++ b/firstapp/samples/jclouds/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + openstack.demo.app + faafo_infrastructure + 1.0-SNAPSHOT + + + 1.9.2 + + + + + + org.apache.jclouds + jclouds-all + ${jclouds.version} + + + + org.apache.jclouds.driver + jclouds-slf4j + ${jclouds.version} + + + ch.qos.logback + logback-classic + 1.0.13 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + 1.8 + 1.8 + + + + + \ No newline at end of file diff --git a/firstapp/source/getting_started.rst b/firstapp/source/getting_started.rst index e3c704eeb..2e3a9787d 100644 --- a/firstapp/source/getting_started.rst +++ b/firstapp/source/getting_started.rst @@ -149,11 +149,55 @@ To interact with the cloud, you must also have .. only:: jclouds - `jClouds 1.8 or higher installed `_. + `jClouds 1.8 or higher installed `_. - .. warning:: + Our code samples use + `Java 8 `_. - This document has not yet been completed for the jclouds SDK. + We have created a Maven POM file to help you get started. + + If you do not know Maven then the `Maven home site `_ + is a good place to learn more. + + **pom.xml:** + + .. literalinclude:: ../samples/jclouds/pom.xml + :language: xml + + Place the above pom.xml into the root directory of your project. Then create the nested + subdirectory tree :code:`src` -> :code:`main` -> :code:`java`. + Place the Java code samples that you copy from this book into the folder named ":code:`java`". + + So, for example, the file named :code:`GettingStarted.java` from the end of this chapter + would be located as follows: + + .. figure:: images/jclouds/screenshot_maven_layout.png + :width: 328px + :align: center + :height: 179px + :alt: Screenshot of the Maven project directory structure + :figclass: align-center + + To use Maven to compile a downloaded sample, with the command prompt located in the same + directory as the :code:`pom.xml` file, enter: + + .. code-block:: bash + + mvn compile + + Maven will download and install any dependencies required for compilation, then execute + the Java compiler. All files in the :code:`java` subdirectory will be compiled. + + To use Maven to run each downloaded sample, with the command prompt located in the same + directory as the :code:`pom.xml` file, enter: + + .. code-block:: bash + + # In the sample below replace GettingStarted with the name of the class you want to run + mvn exec:java -Dexec.mainClass="GettingStarted" + + Maven will download and install any further dependencies required and then run the chosen + class. .. only:: libcloud @@ -1750,6 +1794,8 @@ information, the flavor ID, and image ID. .. only:: jclouds + **GettingStarted.java:** + .. literalinclude:: ../samples/jclouds/GettingStarted.java :language: java diff --git a/firstapp/source/images/jclouds/screenshot_maven_layout.png b/firstapp/source/images/jclouds/screenshot_maven_layout.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e691b3b6621aba56016151a5ef2cb0ce1fe423 GIT binary patch literal 24017 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ℜ|H#Dd6Wo91pZY7E(<|2 z0Wvw(qM++M{#d_$eKG4?-SJ0$VkR0UJ*FV0E9N^F=g|bWAWKdc6vg@ICf^stNJqZM zALcL$AX&u;Bd&?IHj;*Sc+(<0K~dklV_IOu-H#x)P7r+lzrC}Ksj`g2_{DkQ@Dgz3 zsK`qkh4nJ5&`nrPJ_xfZ%jVXSXl>b612=8jaH~ER-F z&4gldimUSU>bON`vSGKB=JYg#t`8u@dy~>)w8<1VGsXzv8ns8{rLyhjSnsagist%d z7^f$yQ!XmmKDM8oAEYpJQ}~n_u<4%j;#k13z#Lm(Mt~F;1wn~1iiH#$lM41s;AqCo zdJXhQIlapX6dMfq#3MVecX^Xyk2$OY`fOikrs(`&&Z+RfNPNIPLvncUl64FX^<23P(?Thh+~Ipd?Rg(yf%jznC`EN~A=Lr)nQ| z-W&@!7MKGIOdF8$7^PkZgF#eORAA8}Yjg1#gV7#jDj^}b83qY@y#1zRASuU<8Eacm z`iHzfr$YvYHbrB+UP`!x9V?vCCZ|EHYWiEUp{n4bGaa2cR#t-Q%5v^jmjzFJ6z%)> zqhNe3!oPfvclW)+&71`AzXDP%DCwT(M2a8vkF7^XS2K3M@C*iiYQP8}zWo2b%IxS$%X416Nh%c-(ZgXf7 zM}i}dD-1~Tivgp`@t2nwsOot?Cd)F!2oKuiWbT$p(`Da$)KpjE40p5JvZ)8Vs7P;I zwGPkLeS;5=evHP>Hl%Tb`BgO!A=+__9vrV>r^HDk>ae4B^N3B1qqwRLyIMxD`|ZQ{ z=#3Tz4EgZD+BLX+emBlueHvz4TRkB7rJa{dNJ(sGRlXeh)6gcB>chdDMW4^D!J&L~+9U2>V9$Ynv&HT*j^ z6sKch&TaI#rtYgW)N^!?n2(O4=9i-X9`PDf&56#W-3Av7L^HzNm2mK5Sz-+4r` za*-GCGd7XeT)c{$Kpq0~GN>{W+FmyKviU4a5AwL)ap%@eI5FVD z!6WTh>W_h1IUnT~W*z;wF+4_B*n@=yi;*A5M0CPh?x4(Ho=%2g6fS%BIq6b72Vgy3;@Icfzcq6L{MIByEuK; zj|qCQ3K>69{-VH<^chRDy;xqHXYQ5$Q=bJ%7nL3Pf^m9h0;>AtV$7m?po(MsQqTtV zDfA$fSMNL&RFYeSs+h;;LvQo3vP{uRnMY)0#AO~_14 z82?sucdJg*2%BNOR^6)2O6r^2R?cG-gfvDcITmm%Fn1Q1HX!G&OIFPhPEn)dVFSX+ zwrmJaer86HNJ8c2<2UC$scG;MSOVRDmk3Q)1fRCPj+Q-#Fs!xSo;byw1Xe!MfLC97 p4naQdGAh10$+3WAf&Zli{siZDj-i(GrrH1i002ovPDHLkV1nq`@>l=> literal 0 HcmV?d00001