How to check whether there are newer versions of library dependencies in an sbt/play/activator project - sbt

Is there any command in Activator that can list all the dependencies and libraries that I use with the current version and newer versions that is possible to use to update my project?
This is similar that the apache maven command versions:display-dependency-updates.
Is there any similar command available?

You're looking for sbt-updates, which is a plugin for sbt and activator.
Install the plugin and execute activator dependencyUpdates to see the list of outdated dependencies.

Related

How to install the module in alfresco?

Help install the eisenvault-esign module.
I tried to install files
"eisenvault-esign/ev-esign-repo/target/ev-esign-repo-1.0-SNAPSHOT.amp"
in the "\amps" folder
and
"eisenvault-esign/ev-esign-share/target/ev-esign-share-1.0-SNAPSHOT.amp"
in the "\amps_share" folder
But when you start apply_amps.bat module is not installed.
Alfresco version 5.2
Below is the execution process.
When you run apply_amps.sh you need to pass in the -force flag because the module you are trying to install overwrites shipped libraries as indicated by your console screenshot.
You should also file an issue with the owner of that project to ask them to adjust their AMPs so that they can be installed without the force flag.

Installing specific node version on R container on travis

Because I use the Netlify CLI tools on travis, I need to have a node version above 8 but the R container I use only has 6.12 according to the error message. I saw that it is possible to specify the node version for java script projects and there is an answer for PHP projects here on StackOverflow, but I tried both and they did not work for my case. What is the proper way of installing a specific node version in an arbitrary travis container such that other applications can access it ? Or maybe even better, (how) can I make npm satisfy the minimal version dependency on node when installing the Netlify CLI tools? I have no prior experience with npm. You can find the version history of my .travis file here.
To install Netlify CLI, make sure you have Node.js version 8 or higher
Based on the docs for Netlify here
Quickest solution for Travis
Optionally, your repository can contain a .nvmrc file in the repository root to specify which single version of Node.js to run your tests against.
The quote from the docs say to add a .nvmrc file to your project at the root with the version
.nvmrc
8.14.0
Note: replace the version with the one compatible with your project that meets all requirements. Also, the .nvmrc file is only read when node_js key in your .travis.yml files does not specify a nodejs version.
Based on the solution provided by #talves, I figured out I can modify the before_script step to install a specific version of node, e.g. 8.14:
before_script:
- nvm install 8.14
- npm install -g netlify-cli
- Rscript -e 'blogdown::install_hugo()'
As nvm and npm were already installed. To install the latest stable release replace 8.14 with node above. That way, I don't need the .nvmrc file.

How do I add an apt repository in prudentia

I'm trying to use prudentia to install postgresql. On the latest version of the develop branch, there is a task for posgresql, but that installs the wrong version for me.
I have found here that I need a special apt repository to get the latest (9.3) version. But I need some help installing it from prudentia.
I did see some example in code, but I couldn't find anything about adding repositories in the docs. How should I solve this?
To add an apt repository there are two ways.
1) The simplest one is to use the Ansible apt_repository module that requires the python-apt package installed on the target machine. This module accepts both deb and ppa repositories style.
A Prudentia task for installing PostgreSQL has been provided using this method and can be found here.
2) The second is to provide an apt source file. This approach doesn't have any dependency. The Prudentia Chrome bundled task uses this approach.

How to run a Qt application on a system where Qt is not installed?

I have made an application using QtWebKit, Qt4. I have the binary generated in Fedora 16. Now, I want to run that application on another PC (running some other Fedora version), where Qt is not installed. How can I package my Qt application so that it can run on a platform where Qt is not installed? Is there any command line utility as well as QtCreator utility to do so. I have tried "deploy all" command, but it didn't have any affect.
Create an Installer with the Qt Installer Framework and just supply all needed shared libraries (Win/OSX) or compile statically. Under Linux there is always the problem between system-wide libraries or bundled libraries. The documentation https://qt-project.org/doc/qt-5.0/qtdoc/deployment.html should give you a good start
Obviously, you need to have access to the qt libraries, which are exactly the same version that you used to compile your application.
There are two options :
link qt libraries statically
create a RPM package (see this how)
Also check Deploying Qt Applications.
Since you're deploying using rpm, to systems where Qt 4 rpms are available, you don't need to do anything besides simply adding a dependency on the qt to your rpm's specfile. The user installing your package using yum localinstall will get the Qt dependencies automatically installed. That's the correct way of doing it - it will keep your package size small.
Of course you need a separate rpm build for every fedora/centos major version out there, but that's almost always a requirement.
If your package needs newer Qt version than the one provided by the platform packages, you can still make a specific version dependency (say qt >= 4.7.0) and have a readme that indicates that newer packages can be obtained from a 3rd party repository (epel etc.)
For deployment under Linux I've used Bitrock Installer Tool.
The main thing before deploying is to check your dependencies. You can do that by using command:
ldd appName | grep libQt
After that you'll see list of dependencies. You'll have to set environment variable LD_LIBRARY_PATH to let linker know where're your libraries. To do that:
export LD_LIBRARY_PATH=.
. means current directory
And after that:
./appName $*
After that you'll be able to use your executable with Bitrock Installer Tool.

How can I build sbt against RPM-installed (system) libraries?

I'm interested in building an RPM package for sbt 0.12.3 that meets the Fedora packaging guidelines. In order to do this, I'll need to be able to build sbt itself against libraries that were built from source and installed via RPM packages.
Java packages in Fedora that use Ivy are able to resolve RPM-installed artifacts by disabling network resolvers and resolving all packages from /usr/share/java/[artifact].[ext] -- see here for an example.
I think I understand how to override default resolvers in sbt using a boot properties file, but this is where I run in to a problem: if I set the Ivy directory to /usr/share/java, sbt expects to be able to publish artifacts to this directory (not merely to look for existing artifacts there), which I don't want it to do (both in general and for this specific case of RPM building). If I specify file:///usr/share/java as a proxy location (following Mark's instructions below), sbt will fail (citing the absence of ivy.xml in that location).
I am able to find locally-installed dependencies by modifying project/p.sbt to point to explicit URLs (e.g. "org.jsoup" % "jsoup" % "1.7.1" from "file:///usr/share/java/jsoup.jar"), but this doesn't work for scala and the scala library (and is obviously not the right thing to do in general).
How can I build sbt against (and only against) locally-installed, RPM-managed system Scala and libraries?

Resources