blob: 30cf079729568e3639b14bb6624a8e549ed907ed [file] [view]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you 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.
~
-->
# openserveless-build
This repo builds the OpenWhisk controller that is the core of OpenWhisk and publishes the images in the GitHub docker registry.
It includes as a subrepo [apache/openwhisk](https://github.com/apache/openwhisk)
## Developer Guide
To develop with this repo, please use [VSCode](https://code.visualstudio.com/). You can use other IDEs if you want but for VSCode there is the configuration ready. Note that you need also Docker running.
You can put it at work with the following procedure
1. clone everyting and open it in VSCode:
```
git clone https://github.com/francescotimperi/openserverless-controller --recurse-submodules
code nuvolaris
```
It will open and show a pop-up asking if you want to `Reopen in Container`. Click on it.
2. When it has finished, open the `workspace.code-workspace` file and then open the workspace (there will be a button to do that, click on it).
3. Open the Metals plugin (click on the icon that looks like an 'm').
To import the project, click on `New Scala Project` (but do not create any project actually) then `import build`. This will activate the Metals plugin, it will import all the subprojects and make available all the features of the plugin.
4. Check `Run doctor` to verify the projects has been imported correctly. An healthy import looks like this:
![](./healthy-import.png)