open-index/open-npm huggingface dataset:
npm package: @ohos/hpm-cli-notice
Description: Combining the notice files in the project into 'Third Party Open Source Notice' file.
Author: raozhagwen
Latest version: 1.0.3

# @ohos/hpm_cli_notice

收集项目中的notice文件(由License文件生成)，在项目根目录下生成Third Party Open Source Notice文件

插件监听hpm-cli提供的afterDist钩子函数，会在发行版执行编译结束之后自动调用，生成合并后的notice文件。

```
  hpmApi.on(hpmApi.eventTypes.afterDist, () => {
    // 生成notice文件
  })
```
npm package: @ohos/hpm-cli-ui
Description: This is a gui plugin for hpm-cli
Latest version: 1.0.3

# HPM UI
hpm ui 是 hpm cli的图形化界面，通过hpm ui命令可以打开一个浏览器窗口，以图形化的方式展现项目的信息。

##启动服务
默认为随机端口， -p 或 --port 为指定端口
```
hpm ui -p 8000
```
启动后，可以通过 http://localhost:8000 访问


## 主要功能包括
* 项目管理（打开/新建）
* 查看项目信息(Readme/Liense/Manifest...)
* 管理项目依赖(新增/删除/升级等)
* 执行任务命令(编译/打包...)
* 设置配置项(标准设置/自定义设置)
* 插件扩展功能
* HPM使用帮助
npm package: @ohos/hpm-cli-x2h
Description: generate bundle.json by pom.xml|package.json, then publish to hpm 
Author: raozhangwen
Latest version: 1.0.4

# x2h (hpm cli plugin)

> HPM CLI 插件X2H，转换Maven/Gradle/NPM包为hpm包并发布到HPM仓库.


## 如何安装?（独立使用）

```sh
npm install -g @ohos/hpm-cli-x2h
```

## 如何使用x2h命令?

```sh
x2h  <类型> [选项]
```

## 选项

- -p 或 preview  ---只预览生成的包，不发布

## 类型

- gradle         ---从通过maven插件先根据gradle.build生成pom4hpm.xml，再转换为bundle.json
- maven          ---从pom.xml转换为bundle.json
- npm            ---从package.json转换为bundle.json

## 集成在HPM-CLI使用（hpm-cli 1.1.0以上版本）

### 从Gradle转换

在build.gradle编译脚本中添加如下脚本，执行publish2hpm任务（或者将publish2hpm发布后操作）

``` groovy
plugins {
    id 'maven'
}

task publish2hpm {
    pom {
        project {
            url "https://www.your.site"
            properties = [
                "hpm.bundle.name":'@your_organizaition/bunle_name',
                "hpm.bundle.tags":"foo,bar",
                "hpm.bundle.keywords":"foo,bar",
                "hpm.bundle.dirs":'{"lib":["build/outputs/*ar/release/*.*ar"]}'
            ]
        }
    }.writeTo("pom4hpm.xml")
    doLast{
        if (System.properties['os.name'].toString().startsWith('Windows'))
            ['cmd', '/c', 'hpm','x2h','gradle'].execute()
        else
            "hpm x2h gradle".execute()
    }
}
```

### 从Maven转换

在pom.xml文件中project下增加如下信息

``` xml
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>hpm-publish</id>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <phase>deploy</phase>
                        <configuration>
                            <executable>hpm</executable>
                            <arguments>
                                <argument>x2h</argument>
                                <argument>maven</argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <properties>
        <hpm.bundle.name>@your_organizaition/bunle_name</hpm.bundle.name>
        <hpm.bundle.tags>ui,image</hpm.bundle.tags>
        <hpm.bundle.keywords>foo,bar</hpm.bundle.keywords>
        <hpm.bundle.dirs>{"lib":["build/outputs/*ar/release/*.*ar"]}</hpm.bundle.dirs>
    </properties>
```

### 从npm转换

在package.json文件中增加如下信息

``` json
  "scripts":{
    "postpublish":"hpm x2h npm"
  },
  "hpm":{
    "bundle.name":"@your_organizaition/bundle"
  }
```

### 注意

| hpm 的组件命名规则 为 @organization/bundle_name格式,organization为hpm平台注册的组织名，bundle_name只能由小写字母、数字、_构成，不超过200，故不能直接使用Maven、NPM的包名。