How to obtain an MRUnit 1.0.0-SNAPSHOT jar built using the hadoop1 classifier? - build

The latest release of MRUnit is 0.9. This release does not support DistributedCache.
This https://issues.apache.org/jira/browse/MRUNIT-98 shows that 1.0.0 supports DistributedCache. I want to get ahold of an MRUnit 1.0.0 jar that is built for hadoop1, but I cannot find one. So I tried to build it myself, but the required jars are missing from the maven repo.
Here is the command I'm using:
mvn package -DenvClassifier=hadoop1 -DspecificHadoopVersion=1.0.3
It fails with dependency errors. I can get ahold of the required jars manually, but I don't know how to get the build to use them.
How can I get ahold of the jar I want (either build it myself, or download it)?

I figured this out after I posted the question.
The answer is simple. Checkout the hadoop1 branch, and build that:
$ git checkout -b local/trunk-hadoop1 remotes/origin/trunk-hadoop1
$ mvn package

Related

Adding binaries to other peoples conan recipes

I'm using given conan packages
gtest/1.8.0#bincrafters/stable
boost/1.66.0#conan/stable
log4cplus/2.0.2#bincrafters/stable`
and clang (version at least 6.0).
While first two packages has binaries for clang 6.0, log4cplus doesn't (last is clang 3.9). I don't like the idea that on each workstation I would need to build this package by hand.
How can I upload localy build binary with clang 6.0?
conan upload looks promising, however it suggest that it will be NEW package. Second question - wouldn't I interfere with package author in any way?
I do recommend open an issue for Bincrafters, requesting clang 3.9 support: https://github.com/bincrafters/community/issues/
Include a new package configuration is just one line in the Travis recipe.
How can I upload localy build binary with clang 6.0?
You could use JFrog Artifactory, there is a Community Edition with Conan support. Also, you could create a "mirror" for your packages locally with Artifactory, instead to download from Bintray:
https://docs.conan.io/en/latest/uploading_packages/artifactory_ce.html
However, Conan respects your remote list by it order, if your Conan client finds log4cplus first in Bincrafters' remote but the correct binary is only available in your local repository, Conan will ignore your local remote and will show a message error about missed binary package for log4cplus. Thus, in your case, you will need to copy ALL binaries to your local repository.
Regards!
You will find the conan packages installed on your Linux system at .conan/data/package_name/version/repo_name/tag. There will be a package folder inside it. If you want to manually add binaries to existing packages then you can add the binary in /bin folder in packages.
Or else you can look into the conan recipe in exports folder and look for the package, that from where it is getting its binaries from and add that binary in that path.

vcpkg setup errors on command line

I am trying to compile dlib 19.4 using the vcpkg tool
since I am having trouble compiling CMAKE and working with Boost.Python
to fix compiler issues for dlib.
Though I am having problems even running the basic steps
to get the vcpkg package to work:
(I also downloaded Visual Studio 2017 for this tool)
Looking at executed command (git init), you initialized empty git repository for vcpkg - that is likely wrong. This bootstrap.ps1 script fails internally when trying to fetch existing revisions. vcpkg doesn't want to reside in just any git repository, it wants "its" git repository. vcpkg uses git as a distribution platform and later to perform updates.
So instead, you should clone vcpkg repository to some directory, e.g.:
C:\test>git clone https://github.com/Microsoft/vcpkg.git vcpkg_test
Cloning into 'vcpkg_test'...
...
Checking out files: 100% (876/876), done.
C:\test>cd vcpkg_test
C:\test\vcpkg_test>powershell -exec bypass scripts\bootstrap.ps1
https://github.com/Microsoft/vcpkg/
Additionally I see errors regarding VS2017 C++ support. VS2017 is an IDE with multiple optionally supported languages (i.e. you could have only C# support installed). Please make sure you have "Desktop development with C++" workload installed - as vcpkg is for C++. You can update the installation at any time by running installer again (Modify).
https://learn.microsoft.com/en-us/visualstudio/install/install-visual-studio

Node module based on C++

I just wrote my own node module in C++ with the help of node-gyp. Now I have the following question.
If I want to publish my project now, what has to be in the package.json and can a user install my npm package if he has no Visual Studio (msbuild.exe) installed. Has he recompile it? And if yes, that doesn't really make sense. He should use the binaries only. But how can I achieve this?
Yeah, that are a lot of questions =)
FYI, here is my project: https://github.com/frankred/node-mouzy
Here is my package.json: https://github.com/frankred/node-mouzy/blob/master/package.json
Via the GIT-Repo I only can install the npm package with the following command:
npm install -S "git+https://github.com/frankred/node-mouzy.git"

How do I use a newer version of r.js with Yeoman build?

I'm trying to run yeoman build on a project that uses requireJS and the require-handlebars-plugin. I'm am getting this error when running the rjs task:
<WARN> Error: ENOENT, no such file or directory '/Users/tkrell/Sites/pathrabbit-marionette-require/temp/scripts/template/schedules/day-jobs -past.js'
In module tree:
main
schedules/schedule-layouts
schedules/schedule-jobs-view
hbs
at Object.fs.openSync (fs.js:338:18)
Use --force to continue. </WARN>
I believe this is the same as this issue which appears to simply need the latest version of r.js to be resolved. When I use a newer version of r.js manually, I don't get the error and everything works fine. How can I force the yeoman build task to use the latest version r.js?
The advice given on the issue I created on Yeoman's github page worked for me:
Yeoman uses 2.0.2 (see it's package.json).
You could go into the directory yeoman is installed and run npm install -f requirejs to force install a newer version. No promises it won't break though.
However, in yeoman 1.0 (which is imminent), we'll be using grunt-requirejs instead.

IllegalStateException Compiling Clojure-Contrib

I am trying to compile my own version of clojure-contrib with Maven I get the following exception:
Exception in thread "main" java.lang.IllegalStateException: Can't dynamically bind non-dynamic var: clojure.contrib.pprint/*format-str*, compiling:(dispatch.clj:90)
I am also using the following command to compile it:
mvn package -Dclojure.jar=/usr/local/share/jars/clojure.jar
clojure.jar is link to the actual jar (that is on the same directory) because I am using a version that I compiled from the Git repository.
Any Ideas?
Thanks in advance for your comments! =)
clojure-contrib, the single monolithic build, is deprecated after Clojure 1.2.0 and is not actively maintained. It doesn't build on the latest Clojure 1.3.0-alpha* releases.
New contrib libraries, one per Github repository, are being created under http://github.com/clojure
See http://dev.clojure.org/display/design/Clojure+Contrib and its sub-pages for more information.