diff --git a/README b/README deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/README.md b/README.md new file mode 100644 index 000000000000..8aaa56829558 --- /dev/null +++ b/README.md @@ -0,0 +1,134 @@ +# Swagger Client Code-Generator + +## Overview +This is a project to build the Swagger code-gen library which can be used to automatically +generate client libraries from a Swagger-compliant server. It also contains a testing +framework which allows the client library to query an API server and validate expected results +You can find out more about both the spec and the framework at http://swagger.wordnik.com. For +more information about Wordnik's APIs, please visit http://developer.wordnik.com. + +### Prerequisites +You need the following installed and available in your $PATH: + +
+ant -f install-ivy ++ +This will copy the ivy ant lib into your antlib directory. Now you can build the artifact: + +
+ant ++ +This will create the swagger-codegen library in your build folder. + + +### To build a client library + +
+./bin/generate-java-lib.sh {server-url} {api_key} {output-package} {output-dir}
+
+
+for example:
++./bin/generate-java-lib.sh http://petstore.swagger.wordnik.com/api/ special-key com.sample.petstore generated ++ +To build a client library for a different programming language, refer to the
conf/java/templatesfolder for +sample code templates. The code-gen uses the antlr string template library for generating the output files, please look at +http://www.stringtemplate.org for details on the antlr framework. + +The files in the
conf/structurefolder are copied by default to the destination directory. + +The main class for the generator is at src/main/java/com/wordnik/swagger/codegen/config/java/JavaLibCodeGen.java + +### The Swagger client test framework + +The testing framework helps you to test Swagger generated client libraries using declarative test scripts. The same +scripts can be used to test client libraries in different languages. The framework can be used for client and server +regression testing. + +There are two components in the test framework: + +
${input., followed by object graph navigation syntax.
+Example: to refer a first user object in test data file use the syntax ${input.userList[0]}
+
+${input.userList[0].username}
+
+${output.
+
+${output(1.2)}. Individual attributes can
+be accessed using OGNL syntax. Example: ${output(1.1).username}
+
+#### Reporting Test Results
+
+A Summary will be reported with each test run. For instance:
+
++Sample: "Summary --> Total Test Cases: 9 Failed Test Cases: 0" ++ +In detail section each test case and its status (passed/failed) are reported. Failures include an exception trace. Test case path is +combination of test suite id and test case id separated by "." + \ No newline at end of file diff --git a/build.xml b/build.xml index 2bc3490544fe..39d677684941 100644 --- a/build.xml +++ b/build.xml @@ -30,6 +30,27 @@ +