小编Cra*_*tis的帖子

无法在GitLab CI YAML中打印包含双引号的字符串

我正在使用CI Lint测试器来尝试找出如何存储预期的JSON结果,我稍后将其与curl响应进行比较.这些都不起作用:

尝试1

---
  image: ruby:2.1
  script:
  - EXPECT_SERVER_OUTPUT='{"message": "Hello World"}'
Run Code Online (Sandbox Code Playgroud)

失败:

在第4行第5列解析块映射时没有找到预期的键

尝试2

---
  image: ruby:2.1
  script:
  - EXPECT_SERVER_OUTPUT="{\"message\": \"Hello World\"}"
Run Code Online (Sandbox Code Playgroud)

失败:

jobs:脚本配置应该是哈希

我也尝试过使用各种组合echo,没有可行的解决方案.

bash yaml gitlab gitlab-ci

5
推荐指数
1
解决办法
3207
查看次数

使用 IntelliJ IDEA 构建 Gradle 多模块的正确结构

我有一个 Kotlin 项目,它由三个模块组成:

Core < Service < Web
Run Code Online (Sandbox Code Playgroud)

结构是:

build.gradle
core/
    build.gradle
service/
    build.gradle
web/
    build.gradle
Run Code Online (Sandbox Code Playgroud)

build.gradle文件的结构是:

buildscript {
    ext.kotlin_version = '1.1.60'
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
subprojects {
    apply plugin: 'kotlin'
    apply plugin: 'jacoco'
    compileKotlin {
        kotlinOptions.jvmTarget = '1.8'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

各个构建文件看起来像(对于core):

dependencies {
    // Kotlin
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    ...
}
Run Code Online (Sandbox Code Playgroud)

而对于service(注意唯一的区别是项目依赖):

dependencies {
    compile project (':core')
    // Kotlin
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    ...
} …
Run Code Online (Sandbox Code Playgroud)

intellij-idea gradle kotlin

5
推荐指数
1
解决办法
2211
查看次数

Maven多模块依赖解析

当将 Maven 与多模块项目一起使用时,例如:

/pom.xml
/project-a/pom.xml
/project-b/pom.xml
Run Code Online (Sandbox Code Playgroud)

如果根 POM 构建模块 A 和 B,并且 B依赖于A,那么当我运行 a并从根 POMmvn package运行构建时:

问:B 的构建是否会从当前构建“反应堆”中拉取以找到 A 的依赖项?(即正在构建的A 中的更改)或者它总是转到本地存储库?

基本上,我试图弄清楚mvn install当 A 中存在 B 所依赖的更改时我是否需要运行,或者我是否可以运行mvn package以节省一些时间。

java maven

5
推荐指数
1
解决办法
704
查看次数

SpringBootTest 和 MockMvc 创建了大量的控制台日志记录 - 如何禁用?

我们使用@SpringBootTest一个@Autowired private MockMvc mockMvc属性来模拟对我们的控制器类的 HTTP 请求。

出于某种我们似乎无法确定的原因,这为每个测试用例创建了大量日志记录,并且正在用数千行文本填充我们的日志,如下所示:

build   18-May-2019 03:09:40    Async:
build   18-May-2019 03:09:40        Async started = false
build   18-May-2019 03:09:40         Async result = null
build   18-May-2019 03:09:40    
build   18-May-2019 03:09:40    Resolved Exception:
build   18-May-2019 03:09:40                 Type = null
build   18-May-2019 03:09:40    
build   18-May-2019 03:09:40    ModelAndView:
build   18-May-2019 03:09:40            View name = null
build   18-May-2019 03:09:40                 View = null
build   18-May-2019 03:09:40                Model = null
build   18-May-2019 03:09:40    
build   18-May-2019 03:09:40    FlashMap:
build   18-May-2019 …
Run Code Online (Sandbox Code Playgroud)

java logging spring spring-test spring-boot

5
推荐指数
1
解决办法
2210
查看次数

iPhone App Store(付费应用) - 促销代码/更新

我在App Store中有一些关于付费应用程序的具体问题,以及促销代码和更新.我已经完成了我的研究,但我要么找不到答案,要么发现它已经过时了"我认为这是它的工作原理......"答案.

  1. 我为0.99美元的应用程序发布了1.0.0版的促销代码,因此客户可以免费获得它.当该客户更新到1.0.1版本时,他是否需要付费?(如果他在促销代码的4周到期日之前更新,这有关系吗?)
  2. 我在版本1.0.0发布了一个"在限定时间内免费"的应用程序.对于版本1.0.1,我将价格更改为0.99美元.新客户显然支付0.99美元,但在"限时"窗口内购买的客户呢?他们在升级时需要付费吗?
  3. 我听说有传言说上述问题的答案是"是的,现有客户在升级时必须支付",只要它是主要的版本更改.例如.客户免费获得1.2.0,免费获得1.3.0免费更新和免费更新1.4.0,但必须支付2.0.0更新费用.

谢谢!

iphone promotions

4
推荐指数
1
解决办法
3011
查看次数

针对特定关系的核心数据NSFetchRequest?

我正在将以前存储在XML中的现有数据模型转换为Core Data,因此我正在尝试尽可能正确地学习绳索.核心数据显然是那些不会在任何时候出现的技术之一,所以我不妨"正确地学习它".

以两个实体为例的核心数据模型:

  1. 餐饮

食物有2对一的关系:

  1. 最喜欢的食物(1对多)
  2. 讨厌的食物(1对多)

(Person和Food都是NSManagedObject的子类.)

在之前的数据模型中,Person维护了两个NSArray实例变量.如果我想要最喜欢的食物,我可以打电话:

Person *fred = [[Person alloc] init];    
NSArray *fredsFavorites = fred.favoriteFoods;
Run Code Online (Sandbox Code Playgroud)

容易挤压.

我正在阅读Core Data的文档,我似乎无法找到获得此NSArray的正确方法NSFetchRequest,因为我无法定义我想从中获取对象的关系.

NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Food" inManagedObjectContext:[fred managedObjectContext]]];
[request setIncludesSubentities:NO];
NSArray *fredsFavoriteAndHatedFoods = [[fred managedObjectContext] executeFetchRequest:request error:nil];
Run Code Online (Sandbox Code Playgroud)

这将返回所有的食品存储在这两个项目favoriteFoodshatedFoods.我该如何拆分它们?当然有一个简单的解释,但我目前还没有很好地掌握这个概念,无法用Core Data术语解释它,因此我的谷歌搜索毫无结果.

xcode entity-relationship core-data objective-c

4
推荐指数
1
解决办法
6713
查看次数

子类化NSScrollView drawRect:方法

我正在为我的一个应用程序自定义UI,并且想法是文本区域在失焦时最初以灰色为边框,当它进入焦点时,边框变为亮白色.我的应用程序使用黑色主题,对于单行NSTextField,这很有用.

但是,我遇到了子类的问题NSTextView.为了正确地改变边界,我最终必须实际上是父类的子类NSScrollView,但我仍然看到奇怪的行为.(见下面的截图.)希望红色框填满整个滚动视图,因为这将允许我描边(而不是填充,仅用于测试)路径,产生一个漂亮的边框.相反,红色框似乎只填充内部子视图.

以下代码片段,用于NSScrollView子类:

- (void)drawRect:(NSRect)dirtyRect {
    [super drawRect:dirtyRect];

    NSRect borderRect = self.bounds;
    borderRect.origin.y += 1;
    borderRect.size.width -= 1;
    borderRect.size.height -= 4;

    BOOL inFocus = ([[self window] firstResponder] == self);

    if (!inFocus) {
        inFocus = [self anySubviewHasFocus:self];
    }

    if (inFocus) {
        [[NSColor colorWithDeviceRed:.8 green:.2 blue:0 alpha:1] set];
    } else {
        [[NSColor colorWithDeviceRed:.1 green:.8 blue:0 alpha:1] set];
    }

    [NSGraphicsContext saveGraphicsState];
    [[NSGraphicsContext currentContext] setShouldAntialias:NO];
    [NSBezierPath fillRect:borderRect];
    [NSGraphicsContext restoreGraphicsState];

    NSLog(@"My bounds: %@", …
Run Code Online (Sandbox Code Playgroud)

xcode cocoa drawing objective-c nsview

4
推荐指数
1
解决办法
2885
查看次数

NSKeyedArchiver返回意外的课程?

我有一个扩展的自定义类NSString.我正在尝试使用一个序列化它(用于拖放)NSKeyedArchiver.该类重写...Coder方法:

- (id)initWithCoder:(NSCoder *)aDecoder {
    if ((self = [super initWithCoder:aDecoder])) {
        data = [[aDecoder decodeObjectForKey:@"data"] copy];
    }
    return self;
}

- (void)encodeWithCoder:(NSCoder *)aCoder {
    [super encodeWithCoder:aCoder];
    [aCoder encodeObject:self.data forKey:@"data"];
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试实际执行归档/取消归档时:

MyClass *object = [[MyClass alloc] init];
[pboard setData:[NSKeyedArchiver archivedDataWithRootObject:object] forType:SACP_WRAPPER_DRAG_TYPE];
NSLog(@"Wrote data for class %@", [object class]);

...

id item = [NSKeyedUnarchiver unarchiveObjectWithData:[[info draggingPasteboard] dataForType:SACP_WRAPPER_DRAG_TYPE]];
NSLog(@"Read data for class %@", [item class]);
Run Code Online (Sandbox Code Playgroud)

输出不是我所期望的:

2011-10-15 18:56:22.898 MyApp[7402:707] Wrote data for class ASCIIString
2011-10-15 18:56:23.345 …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nscoding nsstring

4
推荐指数
1
解决办法
281
查看次数

尝试转换IEnumerable时出现异常?

在我学习C#项目的前几周,我还在努力正确地实现这个IEnumerable界面.我已经阅读了许多教程/指南,但我似乎仍然做错了什么.我有一个强大的Java背景,所以我认为我对Java泛型的一些知识让我理解它们如何在C#中工作.

那类,我不能改变包含一个实例变量:

public IEnumerable<object> Items;

我想提供一个SampleDataSource班级实例.此类充当用于存储容器ListMyObject类型:

    public class SampleDataSource : IEnumerable
    {
        public List<MyObject> Subjects { get; private set; }

        public IEnumerator<MyObject> GetEnumerator()
        {
            return this.Cast<MyObject>().GetEnumerator();
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我试图施放一个实例如此SampleDataSource类的来IEnumerable<object>使用此代码:

Items = (IEnumerable<MyObject>)App.SampleData;
Run Code Online (Sandbox Code Playgroud)

我收到一个例外:

其他信息:无法转换类型"Expression.Blend.SampleData.SampleDataSource.SampleDataSource"的目的为类型"System.Collections.Generic.IEnumerable`1 [Expression.Blend.SampleData.SampleDataSource.MyObject]".

但我不太明白为什么 - 是不是我SampleDataSource正确地表现为IEnumerable返回包含MyObject类型的枚举器?

c# generics ienumerable casting

4
推荐指数
1
解决办法
1412
查看次数

结合使用Cargo和Maven,无需HOT部署即可远程部署WAR

我们在构建服务器上将Cargo与Maven结合使用,以将WAR文件从构建服务器远程部署到内部质量检查服务器以进行测试。

我们当前用于该项目的POM如下所示,并且可以在热部署中正常工作。

问题在于,我们希望让Cargo插件停止Tomcat实例,部署新的WAR,然后启动Tomcat ,而不是热部署。有没有办法更改POM来管理这种情况?

我们的Maven构建定义为:

mvn clean deploy ... cargo:redeploy
Run Code Online (Sandbox Code Playgroud)

以及POM中的cargo插件设置:

                  <plugin>
                        <groupId>org.codehaus.cargo</groupId>
                        <artifactId>cargo-maven2-plugin</artifactId>
                        <configuration>
                            <container>
                                <containerId>tomcat7x</containerId>
                                <type>remote</type>
                                <systemProperties>
                                    <cargo.jvmargs>-XX:MaxPermSize=256M -Xmx1024m</cargo.jvmargs>
                                </systemProperties>
                            </container>
                            <configuration>
                                <type>runtime</type>
                                <properties>
                                    <cargo.hostname>qa-server</cargo.hostname>
                                    <cargo.servlet.port>8080</cargo.servlet.port>
                                    <cargo.tomcat.manager.url>http://qa-server:8080/manager</cargo.tomcat.manager.url>
                                    <cargo.remote.username>username</cargo.remote.username>
                                    <cargo.remote.password>pass</cargo.remote.password>
                                </properties>
                            </configuration>
                            <deployer>
                                <type>remote</type>
                                <deployables>
                                    <deployable>
                                        <groupId>com.ourcompany</groupId>
                                        <artifactId>myapp-artifactId</artifactId>
                                        <type>war</type>
                                        <properties>
                                            <context>latest</context>
                                        </properties>
                                    </deployable>
                                </deployables>
                            </deployer>
                        </configuration>
                    </plugin>
Run Code Online (Sandbox Code Playgroud)

java tomcat cargo maven

4
推荐指数
1
解决办法
4961
查看次数