How to build WSO2 Identity Server - wso2

how to access to svn and build Identy server from sources?
The page http://docs.wso2.org/display/identity/Building+WSO2+Identity+Server+from+source is valid also for 3.2.3?

Installing Identity Server on Linux from Source Distribution [1] Guide.
When you extract the wso2is-3.2.3-src distribution execute mvn clean install from the root level OR if you need to build only 3.2.3 version go inside the /wso2is-3.2.0-src/patch-releases/ folder.
There you will find separate directories for 3.2.1, 3.2.2 and 3.2.3, To build 3.2.3 version, start building from 3.2.3 patch releases pom.xml (mvn clean install from /wso2is-3.2.0-src/patch-releases/3.2.3/ directory).
Please note, 3.2.0 branch needs to be built with maven2.
FYI: To build current trunk, use maven3.

Related

Package Amazon.Lambda.Tools 3.0.1 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1).

I have installed dotnet tool.
install --global Amazon.Lambda.Tools --version 3.0.1 and trying to use in the .net core project 2.1. I am getting this error on setting the project file.
<ItemGroup>
<DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="3.0.1" />
</ItemGroup>
but I am getting this error.
Package Amazon.Lambda.Tools 3.0.1 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Amazon.Lambda.Tools 3.0.1 supports: netcoreapp2.1 (.NETCoreApp,Version=v2.1)
Help??
The the info on the usage here: https://github.com/aws/aws-extensions-for-dotnet-cli
Basically you will need to remove this from the project file:
<-- This line needs to be removed -->
<DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="X.X.X" />
and the tools will need to be installed the following way moving forward:
dotnet tool install -g Amazon.Lambda.Tools
In late 2019, the tool got moved as a global one, instead of being installed locally within the project, it is installed at a machine level.
Go to package manager console in VS, give the command as below:-
dotnet tool install -g Amazon.Lambda.Tools
If its an older project being migrated to newer version, in the project file, the DotNetCliToolReference line needs to be removed.
Now the project file has an entry which marks the project as a Lambda function as follows, if not present then this needs to be added manually in the main property group.
<AWSProjectType>Lambda</AWSProjectType>
Ref: https://github.com/aws/aws-extensions-for-dotnet-cli
While the answer above will install the tools locally, you may also need to make sure your csproj includes the AWSProject type. See my answer to this post https://stackoverflow.com/a/55712772/407188.
in my case by installing Version 3.3.1 AWS SDK work for me
Install-Package AWSSDK.Extensions.NETCore.Setup -Version 3.3.1
or look the appropriate version on this link
https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/3.3.1

Install specific version of Cordova CLI in Visual Studio 2017

I need to do some updates to a Cordova app created using Visual Studio 2017 Tools for Apache Cordova (TACO).
The Cordova CLI version listed in the config.xml file is 6.3.1 and the cordova-ios platform version is 4.2.0
When I try to build the project (using a Mac with XCode 8.3.3, I get this error
Build failed with error Remotebuild requires your projects to use
cordova-ios 4.3.0 or greater with XCode 8.3. Please update your
cordova-ios version.
I don't see any updates to TACO in VS2017 or instructions in the Microsoft documentation for Apache Cordova Tools.
Ideally, I'd like to make the most minor version update possible to get my build working with XCode 8.3.3.
I know there is a Cordova version 7.0.1, but I don't want to make that upgrade just yet because I'm under the gun time wise.
I don't see any updates to TACO in VS2017 or instructions in the Microsoft documentation for Apache Cordova Tools.
You can follow below steps to use the latest cordova-ios:
Open config.xml with designer
Toolset->Check the checkbox of Take latest patch(requires internet) on cordova-ios row.
Update:
If you don't see the checkbox in the designer page, you need to change it in the xml. Find the following tag in config.xml:
<engine name="ios" spec="4.2.0" />
and modify it to:
<engine name="ios" spec="~4.2.0" />
Update2:
If the version is still not update to the latest, please try the below steps to fix the issue:
Clear the cordova cache under: Tools->Options->Tools for Apache Cordova->Clear Cordova cache.
Open cmd of your project folder;
Type npm install -g cordova-ios to install globally the cordova-ios(requires node installed as pre-work);
Then cordova platform rm ios;
Type cordova platform add ios;
Run your project again
For iOS, please install iOS#4.3.1. This is the only version i found working with XCode 8.3.3
I had the same error, follow this steps :
1- If not installed yet, install Node
2- Install the latest version of cordova or anyother:
npm install -g cordova
3- Install taco-cli:
npm install -g taco-cli
4- Configure taco-cli :
taco remote add ios
(respond a few question, MAC IP, Port,etc...)
5- in your root project add or edit a file named "taco.json", add inside :
{
"cordova-cli": "7.1.0"
}
Where 7.1.0 correspond to your cordova version (cordova --v)
6- Try to emulate on your MAC:
taco emulate ios
You will maybe have an error about platform. Ignore it
7- Close then open Visual Studio
8- On Visual Studio open the config.xml UI EDITOR and change the toolset name with
Global cordova
9- Build using Visual Studio.
If it doesn't work, please let me know
I don't have the authority to add a comment to the answer above, so adding my updates here:
If the version is still not update to the latest, please try the below steps to fix the issue:
First, modify your project config.xml file using an editor, rather than through the tools. Not sure why it was necessary, but this was the key difference from the above instructions. I also found that 4.3.1 was best. Remove any ~ characters before the version.
Then:
Clear the cordova cache under: Tools->Options->Tools for Apache Cordova->Clear Cordova cache.
Open cmd of your project folder
Type npm install -g cordova-ios to install globally the cordova-ios(requires node installed as pre-work)
Then cordova platform rm ios
Type cordova platform add ios
Run your project again
If the cordova command in steps 4 and 5 doesn't work, add the cordova bin directory to you path. In my case
C:\ProgramData\Microsoft\VisualStudio\MDA\ad0a0856\taco-toolset-6.3.1\node_modules.bin\

build wso2 apim 1.10.0 from source

So far I installed deployment version of wso2 AM. Now I would like to build it from source and try running it instead of the binaries I downloaded from the site.
Based on WSO2 documentation, I understand the steps are:
1) Download the carbon kernel source:
git clone -b 4.4.x https://github.com/wso2/carbon-kernel.git
2) Download the APIM source:
git clone https://github.com/wso2/product-apim
3) Build APIM from source
cd <SOURCE-DIR>\product-apim
mvn clean install
Are these steps sufficient, or am I missing something?
Should I build carbon-kernel in addition to building apim-manager?
On previous stackoverflow question, I read that carbon-kernel is not really necessary, and instead i should download and build carbon-apimgmt. Is this correct?
After I build the sources, how do I "package" all the compiled binaries along with all other necessary artifacts, in order to form an equivalent package to the wso2am-1.10.0.zip which I download from the site? Or is there another way to install and run the built code?
Github projects related to API manger can be found in following locations
apimgt component repo:
https://github.com/wso2/carbon-apimgt
This repository contains org.wso2.carbon.apimgt component related source code.
product repo:
https://github.com/wso2/product-apim
This repository contains all the resources needed to build the product package and intergration tests for the product.
master branch of these repositories are used for current development. (if you open parent pom.xml file you would find SNAPSHOT versions). If you build the default branches you would build the current development version of the api manager. (at this time, 1.10.1-SNAPSHOT). To build already released product you need to build released tag.
Steps to Build API manager 1.10.0
clone product:
git clone https://github.com/wso2/product-apim
Checkout release tag v1.10.0:
git checkout v1.10.0
Build the product:
mvn clean install (or mvn clean install -Dmaven.test.skip=true to skip integration tests)
get the product from
product-apim\modules\distribution\product\target
You do not have to build the 'carbon-apimgt' repository because the component build using that is already released and can be found in the nexus repo.
If you want to build the component (say need to provide a fix for a bug) build the 'v5.0.3' tag from the 'carbon-apimgt' repo.
git clone https://github.com/wso2/product-apim
git checkout v5.0.3
I'm posting the steps I did:
git clone https://github.com/wso2/carbon-appmgt
git clone https://github.com/wso2/product-apim
cd <SRC>/carbon-appmgt
mvn clean install
cd <SRC>/product-apim
mvn clean install
The ZIP file was found in
<SRC>\product-apim\modules\distribution\product\target
It is similar to the ZIP file that you download from the site.

WSO2 Carbon 4.1.x - how to make the distribution

I have checked out the source code, and built it with mvn clean install.
Now I'm trying to find out how to build the Carbon 4.1.x distribution (wso2carbon-4.1.0.zip)?
Is there a maven target, something like: mvn dist:build-bin that can be run from the root source code folder?
No such special command. If you have built using mvn clean install from the carbon kernel source root level, you can find your expected pack at ROOT/distribution/product/modules/distribution/target/

Which version of patch-release to build?

The release matrix for the wso2 platform is here: http://wso2.com/products/carbon/release-matrix/
If I want to build Identity Server 4.0.0 it seems that I need carbon 4.0.3.
Question 1. Will Identity Server only build on carbon 4.0.3, or will it build on 4.0.3+?
I have checked out the source from:
https://svn.wso2.org/repos/wso2/carbon/orbit/branches/4.0.0
https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.0.0
https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0
However, when I look in the orbit patch-releases folder, I only see:
4.0.1
4.0.2
4.0.5
4.0.6
Question 2. Which version of orbit patch release will I need to build for IS 4.0.0?
Question 01
To build IS 4.0.0 you need to build patch-release 4.0.3
But there can be some components from 4.0.0 up-to 4.0.3 but not 4.0.3+ So its better to build all main branch plus patch-release versions below your required version. As Ratha mentioned if you build online these jars will be downloaded if available.
Question 02
You need to build orbit patch-release 4.0.2 since it was used on IS 4.0.0
The reason for not having patch-release 4.0.3 version is there is no difference from 4.0.2 version. So same version is used during production.
Hope this will help you.
if you don't find particular version, that means product is released with older version of jars..
In your case, you might need to build 4.0.2..
Anyway if you do online build, if jars are available in the repo, they will be downloaded..You don't need to build older versions..
If not, you have to..