# This Dockerfile is intented for devops and deb package generation
-FROM ubuntu:18.04
+FROM ubuntu:22.04
RUN apt-get update && apt-get install -y git build-essential curl \
&& curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_10.x bionic main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_18.x jammy main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_18.x jammy main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update && apt-get install -y nodejs
-RUN npm install --save @openapi-contrib/json-schema-to-openapi-schema
+#RUN npm install --save @openapi-contrib/json-schema-to-openapi-schema
RUN npm install -g swagger-cli
RUN npm install -g speccy
--- /dev/null
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied.
+See the License for the specific language governing permissions and
+limitations under the License
+-->
+# SOL005
+
+OSM client library and console script
+
+## Build docker image to test OpenAPI spec
+
+```bash
+docker build -t osm/sol005-devel .
+```
+
+## Test OpenAPI spec with swagger-cli and speccy
+
+```bash
+docker run -it -v .:/root/SOL005 -w /root/SOL005 osm/sol005-devel /root/SOL005/devops-stages/stage-test.sh
+```
+
specfiles=$(ls | egrep "^[^.]*.(json|yaml)")
fres=0
+
+echo "Files: $specfiles"
for i in $specfiles ; do
echo "-- Validating and linting OpenAPI file $i..."
swagger-cli validate "$i"
res=$?
+ echo "Result swagger-cli validate: $res"
speccy lint "$i" --skip openapi-tags-alphabetical
res2=$?
+ echo "Result speccy lint: $res2"
fres=$(($fres||$res||$res2))
echo "--- Validator returned $res, linter returned $res2."
done