Configuring Maven when using JFrog CLI - jfrog-cli

When trying to run a build of a maven application using jfrog CLI, one of the prerequisite steps is to run
jf mvn-config
When we run it manually on a server, it has an interactive step to configure the resolution for release dependencies (tab and select)
I am wondering is there a way to feed in the config parameters as CLI arguments to jf mvn-config so that we can set the properties programmatically for the repository?

I believe this comment from the JFrog CLI Github page and the --global attribute option described here would be an useful information. It is important to note that the configuration set up using jf mvn-config may override the global settings.

Related

Download Artifacts from a Release Bundle in Jfrog

When I create release bundles in Jfrog and then move them to a satellite, all artifacts on the satellite are placed in repositories from where I can download them. But they are stored there without reference to a specific release bundle. I can download any combination of artifacts. I am asking me if there is a possibility to download artifacts not from the repository but from the release bundle.
For that i would suggest to use the Jfrog CLI:
https://www.jfrog.com/confluence/display/CLI/JFrog+CLI
Thats a tool developed in Jfrog itself for ease of use.
After you configure it (`jfrog config add`) you can use the following command to download all the files of a release bundle:
`jfrog rt dl --bundle bundle_name/bundle_version`

How do I delete a specific Jfrog build with the cli (and its corresponding artifact)

I'm confused about how to perform this operation, it almost seems like it's not supported. Looking at the docs I see no examples for deleting a specific build version: https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-DiscardingOldBuildsfromArtifactory
I use build discarding now, but that's not what this is. I want to remove a specific build version and its corresponding artifact, not use --max-days or --max-builds. How is this possible? I want to delete the build AND the artifact.
I use Jfrog to host an internal helm repo, helm has no built-in command to delete a chart from a remote repo.
For deleting a specific artifact of a build using jfrog cli run
jfrog rt delete --build build-name/build-number
Parse --dry-run to know which artifacts would have been deleted.
More info on CLIforJFrogArtifactory-DeletingFile.

How to install unofficial Firebase extension

Looking for information on steps to install the unofficial firestore-nlp-extension, link below.
https://github.com/FirebaseExtended/firestore-nlp-extension
I read the firestore docs but did not see instructions to install a "custom" extension.
Any help is appreciated!
You need to install the extension from a local source but this was available during the alpha and the below link is no longer working
https://firebase.google.com/docs/extensions/alpha/install-extensions_community#install
The specific extension does not seem to be available on the Firebase system:
Error: The extension reference
'firebase/firestore-natural-language-processing#latest' doesn't exist.
This could happen for two reasons: -The publisher ID 'firebase'
doesn't exist or could be misspelled -The name of the extension
version 'firestore-natural-language-processing#latest' doesn't exist
or could be misspelled
For the current beta from the cli tool I found the following:
First, clone the git repo of the extension:
git clone git#github.com:FirebaseExtended/firestore-nlp-extension.git
then run the following commands to build the project:
cd firestore-nlp-extension/functions
yarn add -D rimraf
yarn build
cd ../..
and then to install this extension, run:
firebase ext:install ./firestore-nlp-extension --project=YOUR_PROJECT
if you get a path error you might need to find the right path such as:
firebase ext:install ./firestore-nlp-extension/functions --project=YOUR_PROJECT

Latest dotnet-ef scaffolding doesn't accept --namespace or --context-namespace as valid parameters

It seems the latest dotnet ef tools (v3.1.3) documentation on Microsoft's site list having the following parameters for dbcontext scaffolding:
-n or --namespace to specify the default namespace of all generated classes
--context-namespace to specify the namespace of the generated DbContext file
However, when I attempt to add those commands to my dotnet-ef command, it says they are not known commands. And I am using Oracle EFF which only works with Core 2.1 so I'm wondering if that is the issue as well?
Here is the version I'm using:
We like to keep the DbContext file separate from the generated PODO classes so the only work around we have is to generate all the classes in the project namespace where the PODO's will reside, then move the generated DbContext class file to a different project and change the namespace.
It's very strange that Microsoft's documents point out the two options exist, but when I check on my machine running the latest .NET Core 3.1 SDK and have the 3.1.3 Command Line tools installed, it's not there.
Is this something that works with possibly EFF6 only? We're trying to build any new apps using .NET Core as we are moving towards container services such as Docker and Kubernetes at my work.
Thanks!
It looks like you need to use 5.0.0 of the dotnet-ef tool to use these options, which is currently in preview. I ran this command to update to a pre-release version and I'm now able to use them.
dotnet tool update --global dotnet-ef --version 5.0.0-preview.4.20220.10
You'll also need to use version 5.0.0 of the EF packages in your project.
You can see all versions of the donet-ef tool here:
https://www.nuget.org/packages/dotnet-ef/
The commit that added support for these flags:
https://github.com/dotnet/efcore/commit/922a7709c4d5d5cf1b9a9b258623c8ef57baebfe#diff-b63a8c6540910fa14bd75aaf248e900d

kaa sample apps miss build files for c sdk

I have been researching kaa platform for weeks. And yesterday, I started running a sample application named gpiocontrol on kaa github. The java (android) sdk works fine. However, when trying to build the c sdk for esp8266, I find out some files are missing, which are
build.sh (Refered in readme file)
CMakelists.txt (Prompted when I tried to run cmake)
Also, I find these missing files in some previous commits of the project. So please check and re-add these files. Thank you very much kaa team.
Update
I do notice that the build files I mentioned above can be found in the /common path of the root directory (sample-apps).
Update 2
Unfortunately, the common build files does not have specific build files for esp8266 platform. Now I'm wondering which method should be used to build kaa for this platform, follow kaa documentation for esp8266 or just add the option -DKAA_PLATFORM=esp8266 to cmake command in common build.sh file? Actually, I have tried the second way but it failed :(
The common build.sh file cmake command
build() {
mkdir -p "$PROJECT_HOME/build"
cd "$PROJECT_HOME/build"
cmake -DBUILD_TESTING=OFF ..
make
}
Still wait for your response and thank you again!
The sample applications' sources you have discovered in the sample-apps repository on GitHub are first assembled by Maven build tool and then deployed into Kaa Sandbox image.
This does most of the effort necessary to build the application(s) easily using Kaa Sandbox.
Thus, the most simple way to build and run Kaa sample applications is by downloading them from Kaa Sandbox through the web interface and then building according to the guide. The guide itself is available on the Kaa Sandbox web interface and is tested for each the application delivered with the Kaa Sandbox.
More information on using Kaa Sandbox is available in the official Kaa Getting started documentation.
Please let me know if using Kaa Sandbox is not an option for you and you still need to build the applications manually.
Update: I confirm the ESP8622 platform was disabled for the Kaa Sandbox 0.10.0 release due to some issues on that platform at the release time.
We are planning to release Kaa 0.10.1 with fixes that should include ESP8622 platform fixes soon.
Update 2: You can now use master branch of the kaaproject/sample-apps repository to build GPIO Control application for ESP8266 platform according to the below without need to wait for the next release:
Create a CMakeLists.txt file within the root directory of the application with the next content:
cmake_minimum_required(VERSION 3.0.2)
include(config.cmake)
if (NOT DEFINED KAA_MAX_LOG_LEVEL)
set(KAA_MAX_LOG_LEVEL 3)
endif (NOT DEFINED KAA_MAX_LOG_LEVEL)
set(BUILD_TESTING OFF CACHE BOOL "")
if (NOT DEFINED KAA_SDK_PATH)
add_subdirectory(libs/kaa)
else (NOT DEFINED KAA_SDK_PATH)
add_subdirectory(${KAA_SDK_PATH})
endif (NOT DEFINED KAA_SDK_PATH)
install(TARGETS demo_client DESTINATION bin)
Extract the Kaa SDK into libs/kaa directory.
Then run (formatted as single command):
mkdir build && \
cd build && \
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=../libs/kaa/toolchains/esp8266.cmake \
-DKAA_PLATFORM=esp8266 && \
make

Resources