Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
We are planning to use artifactory for mainframe COBOL.
We are also planning to use bitbucket as SCM tool for mainframe COBOL.
Can you please guide us on how to go about?
Thanks,
Shnkr
If you want to use bit bucket (or any GIT based system), you will need to be able to compile and move compiled objects to target datasets. IBM has a new product called Dependency Based Build, which is designed to integrate with GIT and other open SCM systems. It is Groovy based, and can call the COBOL, PL/I and Assembler compilers. It integrates with IBM Developer for System z (which is IBM's eclipse based IDE for mainframe development). This tool also allows you to debug, unit test, and analyze code coverage of your source.
Here's a demo of DBB: https://www.youtube.com/watch?v=CsZDlKIDRXI
Also, using these for your toolchain, you will be able to store your compiled objects (load modules, listings, DBRM, etc) into Artifactory, but deployment can be a bear if you are just using open source tools. I would personally recommend Ubancode Deploy for z/OS deployment as it can handle complex deployment scenarios.
For B.B. it totally depends on your IDE. Look at IBM’s eclipse bases stuff.
I have no idea how or if your can reasonably store mainframe COBOL artifacts in Artifactory - have you looked at their docs?
JFrog Artifactory does not come with an out of the box support for COBOL binary packages.
You can take a look at Generic repositories, which allows storing any type of binary, as a possible solution. Using generic repositories will allow you to benefit from setting permissions, defining layouts and other Artifactory capabilities.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
We had understood, MSIX is an interesting, modern alternative to ClickOnce.
Using with GUI runs smoothly. And we want also to use it with Powershell/CMD scripts. (We only want the msix package, no store upload.)
Here is our problem. I have seen the doc from MS (https://learn.microsoft.com/en-us/windows/msix/package/manual-packaging-root) but it is very partial. I have no special with to do, I only want to make the standard export by script instead of GUI.
Please, can anybody give me a better instruction/tutorial to easy create an msix-Package by command line?
Here the steps, I found - and partial questions:
Create Manifest.xml - Good documentation of the content, but where to save it? I use the folder with the *.sln
Generate a Package Resource Index - I find the MakePRI.exe, but hot to use?
Create the package with MakeAppx - who and where to use? Even in standard case I need a mapping.txt. Which files must it contain? All from Manifest? Where I must place the files - Server online or local at PC? Only pictures for icons? Where I must run it? Must it the place with the *.sln or can it be a subfolder? Where have the binaries of my program to be?
Create an app bundle - What must stand in the mapping file here, when I will an app for x86 and x64?
Sign msix - sounds easy - give msix-file and signature as parameter and run
You see, I am very confused. With GUI - MSIX creation is easy. But how to automate it? Can someone help me?
It seems to me that you are on the wrong track here, basically, you are trying to reinvent the wheel and create your own tool that builds MSIX packages.
This doesn't sound very effective to me. We (at Advanced Installer) and other vendors, Microsoft including, have been working for years to build reliable MSIX packaging tools, this is not a 1-month project task that you can start from scratch, without any prior domain knowledge.
What I suspect you need is actually a way to build from the command line a project that you created with Visual Studio, Advanced Installer, InstallShield, or any other tool that can build MSIX packages.
So basically, you need to use the GUI to initially build the project that will generate your MSIX and you can then go on to use the options below to build an MSIX from that project using the command line.
If I am wrong, and you actually need a way to build an MSIX package from scratch from the command line, please update the question with more details so the community can better understand what you are trying to accomplish in order to provide you with useful guidance.
TLDR solution:
So, the first step is for you to build your MSIX project using your tool of preference. From your question, it seems you are only using VS, so you need to use the Windows Application Packaging Project.
Now that you got the .SLN which contains your source code for the application along with your MSIX project, all you need to do is to trigger a build from the command line, using msbuild.
Note. If you are using a third-party tool to build your MSIX, then search for it's documentation, all professional tools have a command-line interface. Here is for example how you can build a project from using Advanced Installer's CLI.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've been vetting Static Analysis tools and I've recently come across both Atlassian Clover and SonarQube. The two products seem remarkably similar and virtually identical from a server perspective, yet I can't find a good comparison of them online.
I've also been vetting their IntelliJ plugins, and this where I see vast differences between the two. Clover's IDE integration is amazing, pointing out exact lines of code that aren't covered by unit tests. However, the SonarQube server has this functionality, but I'm not sure the $300/person cost of Clover is worth this IDE convenience.
Sonar's plugin simply seems to point out code issues in the IDE, which is good, but IntelliJ has functionality for this already. Also, does Clover lack this in their plugin, or do I simply not see it because I haven't put the Clover plugin in front of a server yet?
Lastly, I've also seen that Sonar can consume reports generated by Clover. Does anyone have any experience with this? Does the SonarQube server sufficiently replace the Clover server by utilizing these reports? If not, what does Sonar lack?
For reference: http://docs.codehaus.org/display/SONAR/Clover+Plugin
Some background: The product being analyzed is a Java web project being build with Maven. Both tools seem to have appropriate Maven integration.
Disclaimer: I'm a Clover developer at Atlassian.
But I'll try to be as objective as possible, of course.
Let me emphasize one difference between Clover and Sonar first:
Clover is mainly a code coverage tool. It tracks both total coverages as well as per-test coverage. It has some code metrics in addition to this, but it's not a typical static code analysis tool like Checkstyle, FindBugs or PMD.
Sonar (from my perspective) is mainly a data aggregation tool, which can collect various kinds of data (like code coverage, static analysis results, code metrics) from various tools and present them in one place.
What is similar in these two tools that both of them can create rich reports.
Having said this, let me answer your questions.
Clover's IDE integration is amazing, pointing out exact lines of code that aren't covered by unit tests [...] but I'm not sure the $300/person cost of Clover is worth this IDE convenience.
You have to answer it yourself :-) Few things worth consideration:
How does your developer run unit tests - do they run them in IDE before commit? Do you have a "green build" policy? If both answers are yes then having Clover in IDEA may be worth it.
How much time takes the execution of unit tests in IDE? How frequently they're launched? If they take a long time and are frequently launched, then using Clover's Test Optimization feature in IDEA could be interesting.
Do you have your tests split into several build plans running on CI server? Running in specific environment configurations? in such case, server reports could be more valuable than in IDE
do your developers prefer to see code coverage directly in their IDEs or rather clicking through the HTML report in a browser?
Do you expect to see any productivity boost of your team thanks to having source code with coverage highlighting in IDE? How much? Is the 'time saved * salary > clover license price'?
Sonar's plugin simply seems to point out code issues in the IDE, which is good, but IntelliJ has functionality for this already. Also, does Clover lack this in their plugin [...]?
Clover does not perform static analysis, and thus it does not show code bugs. Neither in its HTML report nor IDE plugins (IDEA/Eclipse).
Lastly, I've also seen that Sonar can consume reports generated by Clover. [...] Does the SonarQube server sufficiently replace the Clover server by utilizing these reports? If not, what does Sonar lack?
I'm not 100% sure (please correct me if I'm wrong) but I think the Sonar Clover Plugin parses Clover's XML report file (at least Clover plugins for Jenkins, Hudson and Bamboo work this way) to get some numbers to display. Which means that you won't see Clover's HTML report in Sonar with detailed source line coloring, per-test coverage, tag clouds, etc.
Cheers
Marek
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm currently using Ant and Maven in different projects. To be compliant with some regulations, I'm in charge of listing all licenses used in each project.
With Maven, it is easy, as the Maven Project Info Reports Plugin generates such a report automatically.
As I'm not fond of searching licenses for all my JARs I'm using in the projects, I would like to know if there's a plugin for Ant, performing this task.
Thanks in advance!
Since this question hasn't got any hints, pointers or even answers, I hacked a solution by myself: license-report at github
The license-report is an Ant task which determines a license for most jar files. Currently, it searches in the following files for information:
META-INF/MANIFEST.MF
META-INF/LICENSE
LICENSE.txt
LICENSE
license/LICENSE.txt
license/LICENSE
These files are found in several common Open Source/Free Software libraries. Some libraries don't provide any information on their license (e.g. Spring framework).
For these libraries, the task does not find any information.
I will update the project as soon as possible that it prints out a nice xml and html report about the found licenses. Documentation and How To will follow, too.
I'm currently working on a demo project using this Ant task.
The demo project now creates an XML file with all library information. Just start it (with installed Ant) via ant build.xml in the root folder of license-report-demo. It prints out the location of the generated XML file. I will also include an XSLT to transform the XML into a nice HTML report. This will come in several days I think.
I create an XML file for further processing (e.g. CI systems like Hudson/Jenkins). This will help to generate a list of all licenses across projects in a central system.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
does anyone have a good idea for what I might use ?
Its not specific to Delphi but SVN is the way to go for version control.
server - subversion (http://subversion.tigris.org/)
windows client - TortoiseSVN (http://tortoisesvn.tigris.org/)
I use Team Coherence, from QSC. This integrates nicely into Delphi (I think the standalone desktop client app itself is written in Delphi too) and it can be used over a network/the web etc.
I'm a 'lone developer' who uses it to get to my source code wherever I am. It does all the obvious source control stuff pretty well (versioning, history, comparisons), and I'm happy with it.
It's not free, but if you want something that really does plug into the Delphi IDE, and that 'understands' Delphi sourcecode and projects (for instance, checking out a form is a single operation - .DFM and .PAS are intelligently linked together in the mind of TC), then it's worth a look. I'm quite happy with it.
All version control systems should work just fine for you. You do not need a specific version control system for Delphi, or any language for that matter.
Some ideas:
Subversion (Central and simple to install and learn)
Mercurial (Distributed and easy to learn)
Git (Distributed; best for Linux, not Windows; does everything)
I have moved away from VSS to Subversion with Tsvn, you can look previous question I asked about replacing the VSS for better VCS with Delphi Moving away from VSS.
And to make the moving to Subversion easy, use VisualSvn server, which is very easy to install and work with.
The good thing about moving to Subversion that next Delphi version will include support to it from inside the IDE.
I use subversion with the jedi integration. I wrote a series of posts on using subversion with Delphi:
http://sourceitsoftware.blogspot.com/2008/07/starting-out-with-delphi-and-subversion.html
http://sourceitsoftware.blogspot.com/2008/07/subversion-server-options.html
http://sourceitsoftware.blogspot.com/2008/07/common-tasks-with-subversion.html
http://sourceitsoftware.blogspot.com/2008/08/subversion-add-ins-for-delphi.html
I would like to recommend Plastic SCM. We used Team Coherance before, but due to multiple reasons (slow, bugs, etc) we have chosen for Plastic SCM: http://www.codicesoftware.com/xpfront.aspx
Very good support (email reaction mostly within 1 hour!) and it has fabulous branch and merging support! Task driven parallel development with multiple developers works much better than traditional version systems like TC, CVS, etc.
I'd recommend a DVCS (Distributed Version Control System). I'm not going to give a specific one to avoid potential flaming, but the big ones are Git, Mercurial, and Bazaar, all of which are quite good.
These allow you the benefit of working offline and working from any computer, while still maintaining version history.
Also, since it's distributed, you don't need some central server, so if a computer crashes, you're still good to go.
Here is a good article about DVCS vs traditional VCS (such as SVN).
First, don't choose your version control system primarily on the level of integration with the IDE!
Subversion, as many have said, is pretty much the de-facto standard for modern version control software.
Personally I just use TortoiseSvn, and don't worry about integration into the IDE.
If you want integration into the IDE, look at SourceConnexion from Epocalipse. They have a D2009 version.
Codegear have hinted that SVN integration could well be in the next release of delphi anyway.
As an earlier poster mentioned Team Coherence, I thought I would add some comments based on my experience of it.
I used Team Coherence (TC) as part of a small team of three to four people for two years, and then we swapped to AccuRev. I would say that for a single developer with simple version control requirements TC would be OK, especially if they use Delphi.
However, (amongst other things) we needed to be able to:
Support mainline development whilst also keeping a release branch for urgent customer bug fixes.
Link items in our bug-tracking system with sets of checked-in changes ("change-set tracking").
We found that using TC to do branching was very confusing. It is much easier to support our branching requirements with AccuRev.
In addition TC didn't support grouping checkins into change-sets, and so it couldn't really fulfil requirement 2.
However, AccuRev is more expensive than TC. Subversion is free, and seems to support branching very well, but as I have only used it for very small projects at home I will leave it to others more experienced with it to recommend it or not.
In short, if you need to support multiple branches, or change-set tracking I would not recommend TC. If, however, your version control requirements are simple (check-in, check-out, version differencing) and you use Delphi, then TC may be an appropriate choice.
The company I work for uses Vault but would I advise it? Well, it's better than VSS that we used before.
We combine this with SourceConneXion which is a Delphi IDE plugin and which supports several source control products, including Vault, Subversion, CVS and whatever else you might think of.
Since we're developing in both Delphi and .NET, these products work quite well for my organisation.
Btw, if you're a single developer and only want one license then Vault is free!
We are using since two years JediVCS (part of the Jedi Proyject). It's stable and work outside the IDE (standalone application) or Integrated with the Delphi IDE.
Work with a lot of servers:
DBISAM 3.x
FlashFiler 2.13 (Open Source version)
Firebird 1.0x, 1.5x, 1.5x embedded (with support for characterset configuration)
Oracle 8.x, 9.x, 10.x
MSSQL 7, 8, 2000 (with both supported security models ("Trusted NT security" or "SQL
based")
MySQL 3.23x, 4.0x, 4.1x
NOTE: Here you can see a video of installation process, the integration with Delphi IDE, Check-in and Check-out files process...
Regards.
Try Plastic SCM together with SourceConneXion integration.
Take a look at the following posts here:
http://codicesoftware.blogspot.com/2008/06/branching-and-merging-with-delphi-part.html
http://codicesoftware.blogspot.com/2008/06/branching-and-merging-with-delphi-part_02.html
Actually it is a very strong combination since Delphi is probably the greatest IDE/language combination for most tasks, and Plastic the strongest for parallel development.
If you are a single developer, then Perforce is a good choice. It's free for 1 or 2 developers. You can use the command line or the gui (P4V) which makes it pretty easy. I've used it for a few years now, and even when I had an issue with it about a year ago, their support was great, treated me like a paying customer, which I'm not. It's easy to set-up, and there's plenty of documentation. It also integrates into other applications like Teamcity and Jira/Fisheye.
Just my 2 cents.
Tortoise SVN
Complicated at first but very reliable
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Whenever I notice that something in my workflow is a repeating task, I try to automate it.
For example the steps necessary to deploy something on a server. It's often a build, followed by a scp and finally some remote setup scripts:
mvn package
scp target/foobar.jar server:
ssh server install-foobar
ssh server './bin/foobar restart'
I tend to write a small Makefile in such cases, which could look like
deploy:
mvn package
scp target/foobar.jar server:
ssh server install-foobar
ssh server './bin/foobar restart'
How do you automate your workflows?
Is Ant the tool of choice? What are the Pros/Cons?
For Java development, I'd say Ant is the default choice.
Pro:
good documentation,
good IDE integration
Lots of third-party extensions and tools
Con:
Somewhat verbose (well, it's yet anothr XML format)
Some things that should be simple aren't (e.g. any kind of looping)
I don't really have any experience using makefiles, so I can't say how they compare. Maybe you should simply use what your developers are more experienced with.
SCons is another good one. And Capistrano seems to be well regarded although I haven't tried it.
I use shell and perl scripts
consider GAnt (http://gant.codehaus.org/). using Groovy's builder, it is much less verbose than an Ant build script
For python I tend to use fabric for the deployment steps and setuptools for any building that is needed (not that usual for me :-)
Fabric understands how to copy files to servers, runing commands on the remote server (both as the standard user and as root).
one of the reasons most build systems are so complex is that folks try and do to much in them. sometimes complementing a build system with a driver-script that takes care of non compilation/linking tasks is a good way to go. There is no single way. Its hard to answer the question without see the project source code structure and all the tasks that need to be done. But you might want to take a look at Rake as it would complement Make, Ant, and Maven
Rake is my choice.
I find Ant and its XML configuration syntax a bit unwieldy and there are some things that should be trivial but are very hard to get in Ant. I prefer for that kind of automation SCons.
There is another tool precisely made to deploy stuff that I used for a bit and was pretty cool, but I forgot its name, maybe somebody else remembers it :).
I use scripts (shell, perl, python) or makefiles. I do not like Ant and SCons