How to work on different projects in different eclipses in parallel? - ipaf

I am working on two different projects in parallel.
Can I have two eclipse applications in my PC for PAF Execution?
or How to start the two projects with different directory ?
Please assist me with the solution as soon as possible.

Instead of parallel execution of eclipse in a local system there is another way to run two projects
Steps:
Create and Set up New Project in Eclipse Editor
Once users install PAF with Editor, they can create new projects to the Project Container.
To create new project, user need to open Eclipse and right click on the project navigator panel on left hand side, select new java project, type the project name and click Finish. The new project will be listed under project explorer.
To configure the PAF dependencies on the new project created, User need to navigate to the ProjectContainer folder and execute the “refreshClassPath.bat”.
User need to input the project name where the PAF dependencies needs to be installed. Once the project configuration is complete user can create folders for drivers, scripts and execute the scripts under new Project.

Related

run release tasks selectively based on project code changes

We are using VSTS for build and release management, and using CI/CD. Typically, our solutions consist of a web application project, and a database project.
Our current release tasks take the application offline (using app_offline.htm), publish the database, then publish the web application. Publishing the database project often results in no changes, as due to CI/CD we are much more frequently updating code on the web app than changing the db schema.
Is there a way to only run the database publish task (using WinRM) when it detects a change in the database project code, in our git repository?
EDIT: This in itself isn't a problem, as typically when the DACPAC gets published, there will be no activity. HOWEVER, I've been requesting that the database is backed up using the /p:BackupDatabaseBeforeChanges=true flag - which seems to back up the database even if there are no changes. This is an issue for large databases.
The simple way is that you can separate web project and database project to two build definitions.
Create a new build definition
Enable Continuous Integration in Triggers tab
Specify Path filter to include database project
Modify Visual Studio Build task, specify /t:[database project name] argument in MSBuild Arguments box to just build database project
The same steps for web project
Create a new related definition
Add artifacts for previous two build definitions and enable Continuous deployment trigger
Add two environments (e.g. database, web)
Open Pre-deployment conditions of an environment (e.g. database)
Enable Artifact filters and select corresponding artifact (e.g. database build artifact), specify build branch (can specify *, it means all branches)
Add tasks to just deploy database in this environment
The same steps for web environment
The answer is - exactly what I want isn't possible.

Sonar refuses to analize multimodule project

I have upgraded from Sonar 5.3 to 6.2 and a project X is giving me some weird errors at the sonar stage of the jenkins job (altough build finishes as STABLE).
The project is a standard multimodule maven java project.
Entering the project dashboard a single message appears on screen:
"No analysis has been performed since creation. The only available
section is the configuration."
But in the upper-right corner the red "FAILED" tag shows up. That leads to the Background tasks of the project and there is the failed task with this error log:
The project "com.foo:bar-submodule-1" is already defined in SonarQube
but not as a module of project "com.foo:bar". If you really want to
stop directly analysing project "com.foo:bar-submodule-1", please
first delete it from SonarQube and then relaunch the analysis of
project "com.foo:bar"
I do not want to delete the project and lose the historical data.
So the question is: How can i add a project Y (that is a submodule of project X but Sonar does not recognize it) as a submodule of project X?
EDIT 1
The parent project is the only one that has been analyzed through jenkins jobs.
Your problem is not that Sonar can't figure out your submodules, but the root issue is that there is another project/module with the same name conflicting with the project you are analyzing now. It happens, for example, when you extract a submodule as a standalone library and moves it as a root project and try to analyse the new project. Since it is a new project, but sometime in the past you had another project/module with the exact same name, it won't be able to finish the process. I have found three ways to fix this:
Delete the old project, if it is possible
This is a option that I use when I have analysed mistakenly new projects (with wrong parameters for example) or when I am migrating servers and still have some wrong configuration in place. You can do this in the project's Configuration/Administration menu, 'Delete project'.
Rename the old projects keys
This is my default option, since usually what I want is just keep the old analyses data for old submodules that we are moving to other projects or promoting to root modules. You can do this in the project's Configuration/Administration menu, 'Update key' option.
Updating your current project's keys
This option I use when the submodules conflict with other valid submodules (It can happen when you have different teams creating small libraries that happen to have the same keys). You can do this in two steps. First you need to update your project's keys following the option 2. The next step is to go to your project and update the modules and submodules names using the key sonar.moduleKey. The default value for this is : similar to sonar.projectKey, as especified here. Following these steps you won't lose all your records and old analyses.
I hope it helps.

Do i need to be connected to the internet everytime i want to create gluon mobile project

When my computer is offline, i cannot create mobile project using gluon mobile. Here is the stacktrace (the top line):
org.gradle.tooling.BuildException: Could not run build action using Gradle installation 'C:\tools\gradle'.
Once I'am connected to the Internet, i can create projects without any issue.
so the Internet connection is required to create gluon poject?
Once you have created your first project, all the main dependencies are downloaded and installed in your local repositories, so you can make use of them to create a new project without being connected to the Internet.
For that you need to use this option when calling any gradle task: --offline.
From your IDE you can set it as a default option:
NetBeans -> Preferences->Miscellaneous->Gradle, Gradle arguments, add --offline.
IntelliJ -> Preferences->Build, Execution, Deployment->Gradle, select offline work under Gradle Global Settings.
Eclipse -> Select a task, right click, Open Gradle Run Configuration... -> Arguments, add --offline to Program Arguments.
Note that some versions (jfxmobile plugin, charm, ...) are updated remotely in the gradle.build file, so when offline you'll need to make sure you have a proper version.

Deploy SQL project to localdb when building application

This might be a very easy to answer question but I'm losing time here trying to research silly little things so I thought I'd just pose the question here.
I have a solution in VS2013 with two projects. The main project (Startup project) is a C# Winforms project which targets a DB and the second project a SQL project which has the schema for said DB.
So I can make changes and build the SQL project. I can take snapshots and eveything works swimmingly. What I can't do is to Run the project (which should publish it into the (localdb) debug project. If I click on run, it runs the default startup project.
Of course I can temporarily set the SQL project as the default startup project, then run, then set the main project to the default startup project again.
Surely there must be a way in which I can build the SQL project and get it to publish to the debug DB all at once, or at least in easier steps as described above?
In fact, what I would ultimately like is if there was one hotkey that will build both projects, publish the SQL project to the debug DB and run the main project.
Never mind, I've figured it out. Go to PROJECT -> Project Dependencies...
Select the WinForms project in the "Projects:" combo box and tick the Database project in the "Depends on:" checklist box.
The WinForms project is now dependent on the Database project and if you Run the application, VS will first build the DB project, then publish it to the debug DB, then build the WinForms project and then run it. Or so it seems.
There are two sides to running the db deploy on each build, the on the one hand you want the db to be up to date but on the second it is quite slow and gets really irritating really quite quickly!
What you could do is to have your c# app as the startup app so pressing F5 starts it but also map a keyboard shortcut to "Build.SSDTPublishSelection", I map CTRL+6 as it is near F5 and I hadn't used that combination of shortcuts (at least not in the last 15 years!) - This only publishes the selected project so you do need to select it first in object explorer (I have that covered with another series of shortcuts which sets the focus to solution explorer and syncing with the current document - I know keyboard heaven, who needs vim and emacs ha ha)
This was you make sure the project is selected CTRL+6, publish then F5 and you should get what you want.
One additional thing is that if you haven't already, look at the add-ins that let you publish stored procs directly without going through the publish cycle, so you can make incremental changes, then when you are ready do a full publish and run all your tests (Dave Ballantyne published one: http://dataidol.com/davebally/2014/03/01/ssdt-fast-deploy/ and I have one: https://github.com/GoEddie/SSDTExtension/tree/master/download/0.4.2)
Hope it helps!
Ed Elliott

Jenkins- multiple locations SVN. Is it possible to specify the build version

I am new to Jenkins CI tool and I want to know if it is possible to specify what build to use when there are several projects, on different SVN locations, dependent on one another. For example, if I have the web project on SVN location1 and the backend project on SVN location2 and the web depends on the backend and one of the developers modifies something in backend, when the web developer does a commit, there will be a build failure. Is there the possibility to specify that the build from the web part should take into consideration build x from backend and not the newest build?
Thanks in advance.
yes that can be done. in Jenkins check for the Build Triggers options in your project web-settings and on the line Build after other projects are built you can specify the name of projects you want to build automatically after there has been changes made to the base project.
And similarly, in the Post-build Actions, look for Build other projects, where you can specify that if the base project builds successfully, it will automatically trigger a build on children projects.
Hope this helps.
Your example of building a project against a specific version of another project is a little non-standard, but not impossible.
In your case, I would use Jenkins' ability to execute arbitrary scripts to help. The script would take care of getting the correct version of the project that the one I want to build depends on.
Building on your example of a Web and Backend project, here's how I would do things without using a parametrized build:
Add a file to the repository of the Web project that stores the version of the Backend project to use
Configure a job to build the Web project when the source for the backend project changes in SVN.
The project should check out the latest version of the Web project
The first Build Step for the project would be a script (Execute Shell or Execute Windows Batch Command) that does the following:
Gets the version of the Backend to use from the file containing the version info
Either pulls the appropriate version of the Backend from the Backend's repository; or pulls the source of the appropriate version of the Backend's source
(If you pulled the source only for the Backend, the next Build Step should be to build the Backend next)
Build the Web piece
Do any unit tests

Resources